HORIZON HASKELLDocslts/ghc-9.10.x248f8f02026-10-05Search names, modules, packages, or :: a typeCtrl K

GHC 9.10.3 · lts/ghc-9.10.x · 248f8f0 · 2026-10-05

Modulefcf-containers-0.8.2Haskell2010

Fcf.Data.Tuple

Fcf.Data.Tuple

  • 5 types
Example1 expression
import qualified GHC.TypeLits as TL
datadata Swap (c :: (a, b)) (d :: (b, a))
#

Swap

Example
Example1 expression
:kind! Eval (Swap '(1, 2))Eval (Swap '(1, 2)) :: (TL.Natural, TL.Natural)= '(2, 1)
Instances1Eval
  • type Eval (Swap '(a, b)) = '(b, a)Defined in fcf-containers-0.8.2 · Fcf.Data.Tuple
datadata Tuple2 (c :: a) (d :: b) (e :: (a, b))
#

2-tuple to allow for partial application of 2-tuple at the type level

Instances1Eval
  • type Eval (Tuple2 a b) = '(a, b)Defined in fcf-containers-0.8.2 · Fcf.Data.Tuple
datadata Tuple3 (d :: a) (e :: b) (f :: c) (g :: (a, b, c))
#

3-tuple to allow for partial application of 3-tuple at the type level

Instances1Eval
  • type Eval (Tuple3 a b c) = '(a, b, c)Defined in fcf-containers-0.8.2 · Fcf.Data.Tuple
datadata Tuple4 (e :: a) (f :: b) (g :: c) (h :: d) (i :: (a, b, c, d))
#

4-tuple to allow for partial application of 4-tuple at the type level

Instances1Eval
  • type Eval (Tuple4 a b c d) = '(a, b, c, d)Defined in fcf-containers-0.8.2 · Fcf.Data.Tuple
datadata Tuple5 (f :: a) (g :: b) (h :: c) (i :: d) (j :: e) (k :: (a, b, c, d, e))
#

5-tuple to allow for partial application of 4-tuple at the type level

Instances1Eval
  • type Eval (Tuple5 a b c d e) = '(a, b, c, d, e)Defined in fcf-containers-0.8.2 · Fcf.Data.Tuple