about summary refs log tree commit diff
diff options
context:
space:
mode:
authorProfpatsch <mail@profpatsch.de>2024-03-16T12·20+0100
committerclbot <clbot@tvl.fyi>2024-03-16T22·36+0000
commit7e63addad38c5bce07febe4146687a4b0b4f792e (patch)
tree825935a315516453d2cbd930f4071a4d9eda01e2
parentdbf87f3057ea8468f7bedf8cc61203131fce1f9b (diff)
chore(third_party/haskell): pa-label: 0.1.0.1 -> 0.1.1.0 r/7706
chore(users/Profpatsch/whatcd-resolver): use more from Label

New label version contains these helpers.

Change-Id: I3ef2ae9b92f2c798842ae001588b2c6d9f3ab971
Reviewed-on: https://cl.tvl.fyi/c/depot/+/11162
Tested-by: BuildkiteCI
Autosubmit: Profpatsch <mail@profpatsch.de>
Reviewed-by: Profpatsch <mail@profpatsch.de>
-rw-r--r--third_party/overlays/haskell/default.nix2
-rw-r--r--third_party/overlays/haskell/extra-pkgs/pa-label.nix (renamed from third_party/overlays/haskell/extra-pkgs/pa-label-0.1.0.1.nix)4
-rw-r--r--users/Profpatsch/whatcd-resolver/src/WhatcdResolver.hs29
3 files changed, 3 insertions, 32 deletions
diff --git a/third_party/overlays/haskell/default.nix b/third_party/overlays/haskell/default.nix
index 5dbb8f45f8..eaf3d2e85c 100644
--- a/third_party/overlays/haskell/default.nix
+++ b/third_party/overlays/haskell/default.nix
@@ -29,7 +29,7 @@ in
       pa-prelude = hsSelf.callPackage ./extra-pkgs/pa-prelude.nix { };
       pa-error-tree = hsSelf.callPackage ./extra-pkgs/pa-error-tree-0.1.0.0.nix { };
       pa-field-parser = hsSelf.callPackage ./extra-pkgs/pa-field-parser.nix { };
-      pa-label = hsSelf.callPackage ./extra-pkgs/pa-label-0.1.0.1.nix { };
+      pa-label = hsSelf.callPackage ./extra-pkgs/pa-label.nix { };
       pa-pretty = hsSelf.callPackage ./extra-pkgs/pa-pretty-0.1.1.0.nix { };
       pa-json = hsSelf.callPackage ./extra-pkgs/pa-json.nix { };
       pa-run-command = hsSelf.callPackage ./extra-pkgs/pa-run-command-0.1.0.0.nix { };
diff --git a/third_party/overlays/haskell/extra-pkgs/pa-label-0.1.0.1.nix b/third_party/overlays/haskell/extra-pkgs/pa-label.nix
index 1da78260cc..7cfa257c81 100644
--- a/third_party/overlays/haskell/extra-pkgs/pa-label-0.1.0.1.nix
+++ b/third_party/overlays/haskell/extra-pkgs/pa-label.nix
@@ -1,8 +1,8 @@
 { mkDerivation, base, lib }:
 mkDerivation {
   pname = "pa-label";
-  version = "0.1.0.1";
-  sha256 = "0131ab7718d910a94cd8cc881e51b7371a060dadfeabc8fd78513a7f27ee8d35";
+  version = "0.1.1.0";
+  sha256 = "b40183900c045641c0632ed8e53a326c0c0e9c2806568613c03b3131d9016183";
   libraryHaskellDepends = [ base ];
   homepage = "https://github.com/possehl-analytics/pa-hackage";
   description = "Labels, and labelled tuples and enums (GHC >9.2)";
diff --git a/users/Profpatsch/whatcd-resolver/src/WhatcdResolver.hs b/users/Profpatsch/whatcd-resolver/src/WhatcdResolver.hs
index 420861a203..6866d387cb 100644
--- a/users/Profpatsch/whatcd-resolver/src/WhatcdResolver.hs
+++ b/users/Profpatsch/whatcd-resolver/src/WhatcdResolver.hs
@@ -1272,35 +1272,6 @@ hush :: Either a1 a2 -> Maybe a2
 hush (Left _) = Nothing
 hush (Right a) = Just a
 
-zipT2 ::
-  forall l1 l2 t1 t2.
-  ( HasField l1 (T2 l1 [t1] l2 [t2]) [t1],
-    HasField l2 (T2 l1 [t1] l2 [t2]) [t2]
-  ) =>
-  T2 l1 [t1] l2 [t2] ->
-  [T2 l1 t1 l2 t2]
-zipT2 xs =
-  zipWith
-    (\t1 t2 -> T2 (label @l1 t1) (label @l2 t2))
-    (getField @l1 xs)
-    (getField @l2 xs)
-
-unzipT2 :: forall l1 t1 l2 t2. [T2 l1 t1 l2 t2] -> T2 l1 [t1] l2 [t2]
-unzipT2 xs = xs <&> toTup & unzip & fromTup
-  where
-    toTup :: forall a b. T2 a t1 b t2 -> (t1, t2)
-    toTup (T2 a b) = (getField @a a, getField @b b)
-    fromTup :: (a, b) -> T2 l1 a l2 b
-    fromTup (t1, t2) = T2 (label @l1 t1) (label @l2 t2)
-
-unzipT3 :: forall l1 t1 l2 t2 l3 t3. [T3 l1 t1 l2 t2 l3 t3] -> T3 l1 [t1] l2 [t2] l3 [t3]
-unzipT3 xs = xs <&> toTup & unzip3 & fromTup
-  where
-    toTup :: forall a b c. T3 a t1 b t2 c t3 -> (t1, t2, t3)
-    toTup (T3 a b c) = (getField @a a, getField @b b, getField @c c)
-    fromTup :: (a, b, c) -> T3 l1 a l2 b l3 c
-    fromTup (t1, t2, t3) = T3 (label @l1 t1) (label @l2 t2) (label @l3 t3)
-
 -- | Do a request to the redacted API. If you know what that is, you know how to find the API docs.
 mkRedactedApiRequest ::
   ( MonadThrow m,