HORIZON HASKELLDocslts/ghc-9.10.xc74966e2026-09-27Search names, modules, packages, or :: a typeCtrl K

GHC 9.10.3 · lts/ghc-9.10.x · c74966e · 2026-09-27

Modulegeneric-lens-core-2.2.1.0Haskell2010

Data.Generics.Product.Internal.HList

Derive an isomorphism between a product type and a flat HList.

  • 1 type
  • 4 classes
classclass GIsList (f :: Type -> Type) (g :: Type -> Type) (as :: [Type]) (bs :: [Type]) | f -> as, g -> bs, bs f -> g, as g -> f where
#

Methods

Instances4GIsList
  • GIsList U1 U1 '[] '[]Defined in generic-lens-core-2.2.1.0 · Data.Generics.Product.Internal.HList
  • GIsList (Rec0 a) (Rec0 b) '[a] '[b]Defined in generic-lens-core-2.2.1.0 · Data.Generics.Product.Internal.HList
  • (GIsList l l' as as', GIsList r r' bs bs', Appending as bs cs as' bs' cs', cs ~ (as ++ bs), cs' ~ (as' ++ bs')) => GIsList (l :*: r) (l' :*: r') cs cs'Defined in generic-lens-core-2.2.1.0 · Data.Generics.Product.Internal.HList
  • GIsList f g as bs => GIsList (M1 t meta f) (M1 t meta g) as bsDefined in generic-lens-core-2.2.1.0 · Data.Generics.Product.Internal.HList
classclass IndexList (i :: Nat) (as :: [Type]) (bs :: [Type]) a b | i as -> a, i bs -> b, i as b -> bs, i bs a -> as where
#

Methods

Instances2IndexList
  • (IndexList (n - 1) as' bs' a b, as ~ (x ': as'), bs ~ (x ': bs')) => IndexList n as bs a bDefined in generic-lens-core-2.2.1.0 · Data.Generics.Product.Internal.HList
  • (as ~ (a ': as'), bs ~ (b ': as')) => IndexList 0 as bs a bDefined in generic-lens-core-2.2.1.0 · Data.Generics.Product.Internal.HList
datadata HList (as :: [Type]) where
#

Constructors

Instances4Semigroup, Monoid
  • Semigroup (HList '[])Defined in generic-lens-core-2.2.1.0 · Data.Generics.Product.Internal.HList
  • (Semigroup a, Semigroup (HList as)) => Semigroup (HList (a ': as))Defined in generic-lens-core-2.2.1.0 · Data.Generics.Product.Internal.HList
  • Monoid (HList '[])Defined in generic-lens-core-2.2.1.0 · Data.Generics.Product.Internal.HList
  • (Monoid a, Monoid (HList as)) => Monoid (HList (a ': as))Defined in generic-lens-core-2.2.1.0 · Data.Generics.Product.Internal.HList
familytype family (++) (as :: [k]) (bs :: [k]) :: [k] where
#

Equations

  • (++) '[] bs = bs
  • (++) (a ': as) bs = a ': as ++ bs
classclass Elem (as :: [(k1, Type)]) (key :: k1) (i :: Nat) (a :: k) | as key -> i a
#
Instances2Elem
  • (Elem xs key i a, pos ~ (i + 1)) => Elem (x ': xs) key pos aDefined in generic-lens-core-2.2.1.0 · Data.Generics.Product.Internal.HList
  • pos ~ 0 => Elem (a ': xs) key pos aDefined in generic-lens-core-2.2.1.0 · Data.Generics.Product.Internal.HList
classclass ListTuple tuple tuple' (as :: [Type]) (bs :: [Type]) | as -> tuple, bs -> tuple' where
#

Methods

Instances19ListTuple, …
  • ListTuple () () '[] '[]Defined in generic-lens-core-2.2.1.0 · Data.Generics.Product.Internal.HList
  • ListTuple a a' '[a] '[a']Defined in generic-lens-core-2.2.1.0 · Data.Generics.Product.Internal.HList
  • ListTuple (a1, b1) (a2, b2) '[a1, b1] '[a2, b2]Defined in generic-lens-core-2.2.1.0 · Data.Generics.Product.Internal.HList
  • ListTuple (a1, b1, c1) (a2, b2, c2) '[a1, b1, c1] '[a2, b2, c2]Defined in generic-lens-core-2.2.1.0 · Data.Generics.Product.Internal.HList
  • ListTuple (a1, b1, c1, d1) (a2, b2, c2, d2) '[a1, b1, c1, d1] '[a2, b2, c2, d2]Defined in generic-lens-core-2.2.1.0 · Data.Generics.Product.Internal.HList
  • ListTuple (a1, b1, c1, d1, e1) (a2, b2, c2, d2, e2) '[a1, b1, c1, d1, e1] '[a2, b2, c2, d2, e2]Defined in generic-lens-core-2.2.1.0 · Data.Generics.Product.Internal.HList
  • ListTuple (a1, b1, c1, d1, e1, f1) (a2, b2, c2, d2, e2, f2) '[a1, b1, c1, d1, e1, f1] '[a2, b2, c2, d2, e2, f2]Defined in generic-lens-core-2.2.1.0 · Data.Generics.Product.Internal.HList
  • ListTuple (a1, b1, c1, d1, e1, f1, g1) (a2, b2, c2, d2, e2, f2, g2) '[a1, b1, c1, d1, e1, f1, g1] '[a2, b2, c2, d2, e2, f2, g2]Defined in generic-lens-core-2.2.1.0 · Data.Generics.Product.Internal.HList
  • ListTuple (a1, b1, c1, d1, e1, f1, g1, h1) (a2, b2, c2, d2, e2, f2, g2, h2) '[a1, b1, c1, d1, e1, f1, g1, h1] '[a2, b2, c2, d2, e2, f2, g2, h2]Defined in generic-lens-core-2.2.1.0 · Data.Generics.Product.Internal.HList
  • ListTuple (a1, b1, c1, d1, e1, f1, g1, h1, j1) (a2, b2, c2, d2, e2, f2, g2, h2, j2) '[a1, b1, c1, d1, e1, f1, g1, h1, j1] '[a2, b2, c2, d2, e2, f2, g2, h2, j2]Defined in generic-lens-core-2.2.1.0 · Data.Generics.Product.Internal.HList
  • ListTuple (a1, b1, c1, d1, e1, f1, g1, h1, j1, k1) (a2, b2, c2, d2, e2, f2, g2, h2, j2, k2) '[a1, b1, c1, d1, e1, f1, g1, h1, j1, k1] '[a2, b2, c2, d2, e2, f2, g2, h2, j2, k2]Defined in generic-lens-core-2.2.1.0 · Data.Generics.Product.Internal.HList
  • ListTuple (a1, b1, c1, d1, e1, f1, g1, h1, j1, k1, l1) (a2, b2, c2, d2, e2, f2, g2, h2, j2, k2, l2) '[a1, b1, c1, d1, e1, f1, g1, h1, j1, k1, l1] '[a2, b2, c2, d2, e2, f2, g2, h2, j2, k2, l2]Defined in generic-lens-core-2.2.1.0 · Data.Generics.Product.Internal.HList
  • ListTuple (a1, b1, c1, d1, e1, f1, g1, h1, j1, k1, l1, m1) (a2, b2, c2, d2, e2, f2, g2, h2, j2, k2, l2, m2) '[a1, b1, c1, d1, e1, f1, g1, h1, j1, k1, l1, m1] '[a2, b2, c2, d2, e2, f2, g2, h2, j2, k2, l2, m2]Defined in generic-lens-core-2.2.1.0 · Data.Generics.Product.Internal.HList
  • ListTuple (a1, b1, c1, d1, e1, f1, g1, h1, j1, k1, l1, m1, n1) (a2, b2, c2, d2, e2, f2, g2, h2, j2, k2, l2, m2, n2) '[a1, b1, c1, d1, e1, f1, g1, h1, j1, k1, l1, m1, n1] '[a2, b2, c2, d2, e2, f2, g2, h2, j2, k2, l2, m2, n2]Defined in generic-lens-core-2.2.1.0 · Data.Generics.Product.Internal.HList
  • ListTuple (a1, b1, c1, d1, e1, f1, g1, h1, j1, k1, l1, m1, n1, o1) (a2, b2, c2, d2, e2, f2, g2, h2, j2, k2, l2, m2, n2, o2) '[a1, b1, c1, d1, e1, f1, g1, h1, j1, k1, l1, m1, n1, o1] '[a2, b2, c2, d2, e2, f2, g2, h2, j2, k2, l2, m2, n2, o2]Defined in generic-lens-core-2.2.1.0 · Data.Generics.Product.Internal.HList
  • ListTuple (a1, b1, c1, d1, e1, f1, g1, h1, j1, k1, l1, m1, n1, o1, p1) (a2, b2, c2, d2, e2, f2, g2, h2, j2, k2, l2, m2, n2, o2, p2) '[a1, b1, c1, d1, e1, f1, g1, h1, j1, k1, l1, m1, n1, o1, p1] '[a2, b2, c2, d2, e2, f2, g2, h2, j2, k2, l2, m2, n2, o2, p2]Defined in generic-lens-core-2.2.1.0 · Data.Generics.Product.Internal.HList
  • ListTuple (a1, b1, c1, d1, e1, f1, g1, h1, j1, k1, l1, m1, n1, o1, p1, q1) (a2, b2, c2, d2, e2, f2, g2, h2, j2, k2, l2, m2, n2, o2, p2, q2) '[a1, b1, c1, d1, e1, f1, g1, h1, j1, k1, l1, m1, n1, o1, p1, q1] '[a2, b2, c2, d2, e2, f2, g2, h2, j2, k2, l2, m2, n2, o2, p2, q2]Defined in generic-lens-core-2.2.1.0 · Data.Generics.Product.Internal.HList
  • ListTuple (a1, b1, c1, d1, e1, f1, g1, h1, j1, k1, l1, m1, n1, o1, p1, q1, r1) (a2, b2, c2, d2, e2, f2, g2, h2, j2, k2, l2, m2, n2, o2, p2, q2, r2) '[a1, b1, c1, d1, e1, f1, g1, h1, j1, k1, l1, m1, n1, o1, p1, q1, r1] '[a2, b2, c2, d2, e2, f2, g2, h2, j2, k2, l2, m2, n2, o2, p2, q2, r2]Defined in generic-lens-core-2.2.1.0 · Data.Generics.Product.Internal.HList
  • ListTuple (a1, b1, c1, d1, e1, f1, g1, h1, j1, k1, l1, m1, n1, o1, p1, q1, r1, s1) (a2, b2, c2, d2, e2, f2, g2, h2, j2, k2, l2, m2, n2, o2, p2, q2, r2, s2) '[a1, b1, c1, d1, e1, f1, g1, h1, j1, k1, l1, m1, n1, o1, p1, q1, r1, s1] '[a2, b2, c2, d2, e2, f2, g2, h2, j2, k2, l2, m2, n2, o2, p2, q2, r2, s2]Defined in generic-lens-core-2.2.1.0 · Data.Generics.Product.Internal.HList
familytype family TupleToList a :: [Type] where
#

Equations

  • TupleToList () = '[]
  • TupleToList (a, b) = '[a, b]
  • TupleToList (a, b, c) = '[a, b, c]
  • TupleToList (a, b, c, d) = '[a, b, c, d]
  • TupleToList (a, b, c, d, e) = '[a, b, c, d, e]
  • TupleToList (a, b, c, d, e, f) = '[a, b, c, d, e, f]
  • TupleToList (a, b, c, d, e, f, g) = '[a, b, c, d, e, f, g]
  • TupleToList (a, b, c, d, e, f, g, h) = '[a, b, c, d, e, f, g, h]
  • TupleToList (a, b, c, d, e, f, g, h, j) = '[a, b, c, d, e, f, g, h, j]
  • TupleToList (a, b, c, d, e, f, g, h, j, k) = '[a, b, c, d, e, f, g, h, j, k]
  • TupleToList (a, b, c, d, e, f, g, h, j, k, l) = '[a, b, c, d, e, f, g, h, j, k, l]
  • TupleToList (a, b, c, d, e, f, g, h, j, k, l, m) = '[a, b, c, d, e, f, g, h, j, k, l, m]
  • TupleToList (a, b, c, d, e, f, g, h, j, k, l, m, n) = '[a, b, c, d, e, f, g, h, j, k, l, m, n]
  • TupleToList (a, b, c, d, e, f, g, h, j, k, l, m, n, o) = '[a, b, c, d, e, f, g, h, j, k, l, m, n, o]
  • TupleToList (a, b, c, d, e, f, g, h, j, k, l, m, n, o, p) = '[a, b, c, d, e, f, g, h, j, k, l, m, n, o, p]
  • TupleToList (a, b, c, d, e, f, g, h, j, k, l, m, n, o, p, q) = '[a, b, c, d, e, f, g, h, j, k, l, m, n, o, p, q]
  • TupleToList (a, b, c, d, e, f, g, h, j, k, l, m, n, o, p, q, r) = '[a, b, c, d, e, f, g, h, j, k, l, m, n, o, p, q, r]
  • TupleToList (a, b, c, d, e, f, g, h, j, k, l, m, n, o, p, q, r, s) = '[a, b, c, d, e, f, g, h, j, k, l, m, n, o, p, q, r, s]
  • TupleToList a = '[a]