chore(third_party/haskell): pa-label: 0.1.0.1 -> 0.1.1.0

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>
This commit is contained in:
Profpatsch 2024-03-16 13:20:12 +01:00 committed by clbot
parent dbf87f3057
commit 7e63addad3
3 changed files with 3 additions and 32 deletions

View file

@ -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 { };

View file

@ -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)";

View file

@ -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,