diff options
-rw-r--r-- | third_party/overlays/haskell/default.nix | 2 | ||||
-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.hs | 29 |
3 files changed, 3 insertions, 32 deletions
diff --git a/third_party/overlays/haskell/default.nix b/third_party/overlays/haskell/default.nix index 5dbb8f45f838..eaf3d2e85c9e 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 1da78260cc66..7cfa257c8138 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 420861a2035b..6866d387cb0c 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, |