singletons-1.0: A framework for generating singleton types

Data.Promotion.Prelude.Tuple

Description

Defines promoted functions and datatypes relating to tuples, including a promoted version of all the definitions in `Data.Tuple`.

Because many of these definitions are produced by Template Haskell, it is not possible to create proper Haddock documentation. Please look up the corresponding operation in `Data.Tuple`. Also, please excuse the apparent repeated variable names. This is due to an interaction between Template Haskell and Haddock.

Synopsis

# Promoted functions from `Data.Tuple`

type family Fst a :: a Source

Equations

 Fst ((,) x z) = x

type family Snd a :: b Source

Equations

 Snd ((,) z y) = y

type family Curry a a a :: c Source

Equations

 Curry f x y = Apply f (Apply (Apply Tuple2Sym0 x) y)

type family Uncurry a a :: c Source

Equations

 Uncurry f p = Apply (Apply f (Apply FstSym0 p)) (Apply SndSym0 p)

type family Swap a :: (,) b a Source

Equations

 Swap ((,) a b) = Apply (Apply Tuple2Sym0 b) a

# Defunctionalization symbols

data Tuple2Sym0 l Source

Instances

 SuppressUnusedWarnings (TyFun k (TyFun k ((,) k k) -> *) -> *) (Tuple2Sym0 k k) type Apply (TyFun k1 ((,) k k1) -> *) k (Tuple2Sym0 k1 k) l0 = Tuple2Sym1 k k1 l0

data Tuple2Sym1 l l Source

Instances

 SuppressUnusedWarnings (k -> TyFun k ((,) k k) -> *) (Tuple2Sym1 k k) type Apply ((,) k1 k) k (Tuple2Sym1 k1 k l1) l0 = Tuple2Sym2 k1 k l1 l0

type Tuple2Sym2 t t = (,) t t Source

data Tuple3Sym0 l Source

Instances

 SuppressUnusedWarnings (TyFun k (TyFun k (TyFun k ((,,) k k k) -> *) -> *) -> *) (Tuple3Sym0 k k k) type Apply (TyFun k2 (TyFun k ((,,) k1 k2 k) -> *) -> *) k1 (Tuple3Sym0 k2 k k1) l0 = Tuple3Sym1 k k1 k2 l0

data Tuple3Sym1 l l Source

Instances

 SuppressUnusedWarnings (k -> TyFun k (TyFun k ((,,) k k k) -> *) -> *) (Tuple3Sym1 k k k) type Apply (TyFun k1 ((,,) k2 k k1) -> *) k (Tuple3Sym1 k1 k2 k l1) l0 = Tuple3Sym2 k2 k k1 l1 l0

data Tuple3Sym2 l l l Source

Instances

 SuppressUnusedWarnings (k -> k -> TyFun k ((,,) k k k) -> *) (Tuple3Sym2 k k k) type Apply ((,,) k1 k2 k) k (Tuple3Sym2 k1 k2 k l1 l2) l0 = Tuple3Sym3 k1 k2 k l1 l2 l0

type Tuple3Sym3 t t t = (,,) t t t Source

data Tuple4Sym0 l Source

Instances

 SuppressUnusedWarnings (TyFun k (TyFun k (TyFun k (TyFun k ((,,,) k k k k) -> *) -> *) -> *) -> *) (Tuple4Sym0 k k k k) type Apply (TyFun k3 (TyFun k (TyFun k1 ((,,,) k2 k3 k k1) -> *) -> *) -> *) k2 (Tuple4Sym0 k3 k k1 k2) l0 = Tuple4Sym1 k k1 k2 k3 l0

data Tuple4Sym1 l l Source

Instances

 SuppressUnusedWarnings (k -> TyFun k (TyFun k (TyFun k ((,,,) k k k k) -> *) -> *) -> *) (Tuple4Sym1 k k k k) type Apply (TyFun k2 (TyFun k ((,,,) k3 k1 k2 k) -> *) -> *) k1 (Tuple4Sym1 k2 k k3 k1 l1) l0 = Tuple4Sym2 k k3 k1 k2 l1 l0

data Tuple4Sym2 l l l Source

Instances

 SuppressUnusedWarnings (k -> k -> TyFun k (TyFun k ((,,,) k k k k) -> *) -> *) (Tuple4Sym2 k k k k) type Apply (TyFun k1 ((,,,) k2 k3 k k1) -> *) k (Tuple4Sym2 k1 k2 k3 k l1 l2) l0 = Tuple4Sym3 k2 k3 k k1 l1 l2 l0

data Tuple4Sym3 l l l l Source

Instances

 SuppressUnusedWarnings (k -> k -> k -> TyFun k ((,,,) k k k k) -> *) (Tuple4Sym3 k k k k) type Apply ((,,,) k1 k2 k3 k) k (Tuple4Sym3 k1 k2 k3 k l1 l2 l3) l0 = Tuple4Sym4 k1 k2 k3 k l1 l2 l3 l0

type Tuple4Sym4 t t t t = (,,,) t t t t Source

data Tuple5Sym0 l Source

Instances

 SuppressUnusedWarnings (TyFun k (TyFun k (TyFun k (TyFun k (TyFun k ((,,,,) k k k k k) -> *) -> *) -> *) -> *) -> *) (Tuple5Sym0 k k k k k) type Apply (TyFun k4 (TyFun k (TyFun k1 (TyFun k2 ((,,,,) k3 k4 k k1 k2) -> *) -> *) -> *) -> *) k3 (Tuple5Sym0 k4 k k1 k2 k3) l0 = Tuple5Sym1 k k1 k2 k3 k4 l0

data Tuple5Sym1 l l Source

Instances

 SuppressUnusedWarnings (k -> TyFun k (TyFun k (TyFun k (TyFun k ((,,,,) k k k k k) -> *) -> *) -> *) -> *) (Tuple5Sym1 k k k k k) type Apply (TyFun k3 (TyFun k (TyFun k1 ((,,,,) k4 k2 k3 k k1) -> *) -> *) -> *) k2 (Tuple5Sym1 k3 k k1 k4 k2 l1) l0 = Tuple5Sym2 k k1 k4 k2 k3 l1 l0

data Tuple5Sym2 l l l Source

Instances

 SuppressUnusedWarnings (k -> k -> TyFun k (TyFun k (TyFun k ((,,,,) k k k k k) -> *) -> *) -> *) (Tuple5Sym2 k k k k k) type Apply (TyFun k2 (TyFun k ((,,,,) k3 k4 k1 k2 k) -> *) -> *) k1 (Tuple5Sym2 k2 k k3 k4 k1 l1 l2) l0 = Tuple5Sym3 k k3 k4 k1 k2 l1 l2 l0

data Tuple5Sym3 l l l l Source

Instances

 SuppressUnusedWarnings (k -> k -> k -> TyFun k (TyFun k ((,,,,) k k k k k) -> *) -> *) (Tuple5Sym3 k k k k k) type Apply (TyFun k1 ((,,,,) k2 k3 k4 k k1) -> *) k (Tuple5Sym3 k1 k2 k3 k4 k l1 l2 l3) l0 = Tuple5Sym4 k2 k3 k4 k k1 l1 l2 l3 l0

data Tuple5Sym4 l l l l l Source

Instances

 SuppressUnusedWarnings (k -> k -> k -> k -> TyFun k ((,,,,) k k k k k) -> *) (Tuple5Sym4 k k k k k) type Apply ((,,,,) k1 k2 k3 k4 k) k (Tuple5Sym4 k1 k2 k3 k4 k l1 l2 l3 l4) l0 = Tuple5Sym5 k1 k2 k3 k4 k l1 l2 l3 l4 l0

type Tuple5Sym5 t t t t t = (,,,,) t t t t t Source

data Tuple6Sym0 l Source

Instances

 SuppressUnusedWarnings (TyFun k (TyFun k (TyFun k (TyFun k (TyFun k (TyFun k ((,,,,,) k k k k k k) -> *) -> *) -> *) -> *) -> *) -> *) (Tuple6Sym0 k k k k k k) type Apply (TyFun k5 (TyFun k (TyFun k1 (TyFun k2 (TyFun k3 ((,,,,,) k4 k5 k k1 k2 k3) -> *) -> *) -> *) -> *) -> *) k4 (Tuple6Sym0 k5 k k1 k2 k3 k4) l0 = Tuple6Sym1 k k1 k2 k3 k4 k5 l0

data Tuple6Sym1 l l Source

Instances

 SuppressUnusedWarnings (k -> TyFun k (TyFun k (TyFun k (TyFun k (TyFun k ((,,,,,) k k k k k k) -> *) -> *) -> *) -> *) -> *) (Tuple6Sym1 k k k k k k) type Apply (TyFun k4 (TyFun k (TyFun k1 (TyFun k2 ((,,,,,) k5 k3 k4 k k1 k2) -> *) -> *) -> *) -> *) k3 (Tuple6Sym1 k4 k k1 k2 k5 k3 l1) l0 = Tuple6Sym2 k k1 k2 k5 k3 k4 l1 l0

data Tuple6Sym2 l l l Source

Instances

 SuppressUnusedWarnings (k -> k -> TyFun k (TyFun k (TyFun k (TyFun k ((,,,,,) k k k k k k) -> *) -> *) -> *) -> *) (Tuple6Sym2 k k k k k k) type Apply (TyFun k3 (TyFun k (TyFun k1 ((,,,,,) k4 k5 k2 k3 k k1) -> *) -> *) -> *) k2 (Tuple6Sym2 k3 k k1 k4 k5 k2 l1 l2) l0 = Tuple6Sym3 k k1 k4 k5 k2 k3 l1 l2 l0

data Tuple6Sym3 l l l l Source

Instances

 SuppressUnusedWarnings (k -> k -> k -> TyFun k (TyFun k (TyFun k ((,,,,,) k k k k k k) -> *) -> *) -> *) (Tuple6Sym3 k k k k k k) type Apply (TyFun k2 (TyFun k ((,,,,,) k3 k4 k5 k1 k2 k) -> *) -> *) k1 (Tuple6Sym3 k2 k k3 k4 k5 k1 l1 l2 l3) l0 = Tuple6Sym4 k k3 k4 k5 k1 k2 l1 l2 l3 l0

data Tuple6Sym4 l l l l l Source

Instances

 SuppressUnusedWarnings (k -> k -> k -> k -> TyFun k (TyFun k ((,,,,,) k k k k k k) -> *) -> *) (Tuple6Sym4 k k k k k k) type Apply (TyFun k1 ((,,,,,) k2 k3 k4 k5 k k1) -> *) k (Tuple6Sym4 k1 k2 k3 k4 k5 k l1 l2 l3 l4) l0 = Tuple6Sym5 k2 k3 k4 k5 k k1 l1 l2 l3 l4 l0

data Tuple6Sym5 l l l l l l Source

Instances

 SuppressUnusedWarnings (k -> k -> k -> k -> k -> TyFun k ((,,,,,) k k k k k k) -> *) (Tuple6Sym5 k k k k k k) type Apply ((,,,,,) k1 k2 k3 k4 k5 k) k (Tuple6Sym5 k1 k2 k3 k4 k5 k l1 l2 l3 l4 l5) l0 = Tuple6Sym6 k1 k2 k3 k4 k5 k l1 l2 l3 l4 l5 l0

type Tuple6Sym6 t t t t t t = (,,,,,) t t t t t t Source

data Tuple7Sym0 l Source

Instances

 SuppressUnusedWarnings (TyFun k (TyFun k (TyFun k (TyFun k (TyFun k (TyFun k (TyFun k ((,,,,,,) k k k k k k k) -> *) -> *) -> *) -> *) -> *) -> *) -> *) (Tuple7Sym0 k k k k k k k) type Apply (TyFun k6 (TyFun k (TyFun k1 (TyFun k2 (TyFun k3 (TyFun k4 ((,,,,,,) k5 k6 k k1 k2 k3 k4) -> *) -> *) -> *) -> *) -> *) -> *) k5 (Tuple7Sym0 k6 k k1 k2 k3 k4 k5) l0 = Tuple7Sym1 k k1 k2 k3 k4 k5 k6 l0

data Tuple7Sym1 l l Source

Instances

 SuppressUnusedWarnings (k -> TyFun k (TyFun k (TyFun k (TyFun k (TyFun k (TyFun k ((,,,,,,) k k k k k k k) -> *) -> *) -> *) -> *) -> *) -> *) (Tuple7Sym1 k k k k k k k) type Apply (TyFun k5 (TyFun k (TyFun k1 (TyFun k2 (TyFun k3 ((,,,,,,) k6 k4 k5 k k1 k2 k3) -> *) -> *) -> *) -> *) -> *) k4 (Tuple7Sym1 k5 k k1 k2 k3 k6 k4 l1) l0 = Tuple7Sym2 k k1 k2 k3 k6 k4 k5 l1 l0

data Tuple7Sym2 l l l Source

Instances

 SuppressUnusedWarnings (k -> k -> TyFun k (TyFun k (TyFun k (TyFun k (TyFun k ((,,,,,,) k k k k k k k) -> *) -> *) -> *) -> *) -> *) (Tuple7Sym2 k k k k k k k) type Apply (TyFun k4 (TyFun k (TyFun k1 (TyFun k2 ((,,,,,,) k5 k6 k3 k4 k k1 k2) -> *) -> *) -> *) -> *) k3 (Tuple7Sym2 k4 k k1 k2 k5 k6 k3 l1 l2) l0 = Tuple7Sym3 k k1 k2 k5 k6 k3 k4 l1 l2 l0

data Tuple7Sym3 l l l l Source

Instances

 SuppressUnusedWarnings (k -> k -> k -> TyFun k (TyFun k (TyFun k (TyFun k ((,,,,,,) k k k k k k k) -> *) -> *) -> *) -> *) (Tuple7Sym3 k k k k k k k) type Apply (TyFun k3 (TyFun k (TyFun k1 ((,,,,,,) k4 k5 k6 k2 k3 k k1) -> *) -> *) -> *) k2 (Tuple7Sym3 k3 k k1 k4 k5 k6 k2 l1 l2 l3) l0 = Tuple7Sym4 k k1 k4 k5 k6 k2 k3 l1 l2 l3 l0

data Tuple7Sym4 l l l l l Source

Instances

 SuppressUnusedWarnings (k -> k -> k -> k -> TyFun k (TyFun k (TyFun k ((,,,,,,) k k k k k k k) -> *) -> *) -> *) (Tuple7Sym4 k k k k k k k) type Apply (TyFun k2 (TyFun k ((,,,,,,) k3 k4 k5 k6 k1 k2 k) -> *) -> *) k1 (Tuple7Sym4 k2 k k3 k4 k5 k6 k1 l1 l2 l3 l4) l0 = Tuple7Sym5 k k3 k4 k5 k6 k1 k2 l1 l2 l3 l4 l0

data Tuple7Sym5 l l l l l l Source

Instances

 SuppressUnusedWarnings (k -> k -> k -> k -> k -> TyFun k (TyFun k ((,,,,,,) k k k k k k k) -> *) -> *) (Tuple7Sym5 k k k k k k k) type Apply (TyFun k1 ((,,,,,,) k2 k3 k4 k5 k6 k k1) -> *) k (Tuple7Sym5 k1 k2 k3 k4 k5 k6 k l1 l2 l3 l4 l5) l0 = Tuple7Sym6 k2 k3 k4 k5 k6 k k1 l1 l2 l3 l4 l5 l0

data Tuple7Sym6 l l l l l l l Source

Instances

 SuppressUnusedWarnings (k -> k -> k -> k -> k -> k -> TyFun k ((,,,,,,) k k k k k k k) -> *) (Tuple7Sym6 k k k k k k k) type Apply ((,,,,,,) k1 k2 k3 k4 k5 k6 k) k (Tuple7Sym6 k1 k2 k3 k4 k5 k6 k l1 l2 l3 l4 l5 l6) l0 = Tuple7Sym7 k1 k2 k3 k4 k5 k6 k l1 l2 l3 l4 l5 l6 l0

type Tuple7Sym7 t t t t t t t = (,,,,,,) t t t t t t t Source

data FstSym0 l Source

Instances

 SuppressUnusedWarnings (TyFun ((,) k k) k -> *) (FstSym0 k k) type Apply k ((,) k k1) (FstSym0 k k1) l0 = FstSym1 k k1 l0

type FstSym1 t = Fst t Source

data SndSym0 l Source

Instances

 SuppressUnusedWarnings (TyFun ((,) k k) k -> *) (SndSym0 k k) type Apply k ((,) k1 k) (SndSym0 k k1) l0 = SndSym1 k k1 l0

type SndSym1 t = Snd t Source

data CurrySym0 l Source

Instances

 SuppressUnusedWarnings (TyFun (TyFun ((,) k k) k -> *) (TyFun k (TyFun k k -> *) -> *) -> *) (CurrySym0 k k k) type Apply (TyFun k1 (TyFun k2 k -> *) -> *) (TyFun ((,) k1 k2) k -> *) (CurrySym0 k k1 k2) l0 = CurrySym1 k k1 k2 l0

data CurrySym1 l l Source

Instances

 SuppressUnusedWarnings ((TyFun ((,) k k) k -> *) -> TyFun k (TyFun k k -> *) -> *) (CurrySym1 k k k) type Apply (TyFun k2 k1 -> *) k (CurrySym1 k1 k k2 l1) l0 = CurrySym2 k1 k k2 l1 l0

data CurrySym2 l l l Source

Instances

 SuppressUnusedWarnings ((TyFun ((,) k k) k -> *) -> k -> TyFun k k -> *) (CurrySym2 k k k) type Apply k1 k (CurrySym2 k1 k2 k l1 l2) l0 = CurrySym3 k1 k2 k l1 l2 l0

type CurrySym3 t t t = Curry t t t Source

data UncurrySym0 l Source

Instances

 SuppressUnusedWarnings (TyFun (TyFun k (TyFun k k -> *) -> *) (TyFun ((,) k k) k -> *) -> *) (UncurrySym0 k k k) type Apply (TyFun ((,) k1 k2) k -> *) (TyFun k1 (TyFun k2 k -> *) -> *) (UncurrySym0 k k1 k2) l0 = UncurrySym1 k k1 k2 l0

data UncurrySym1 l l Source

Instances

 SuppressUnusedWarnings ((TyFun k (TyFun k k -> *) -> *) -> TyFun ((,) k k) k -> *) (UncurrySym1 k k k) type Apply k ((,) k1 k2) (UncurrySym1 k k1 k2 l1) l0 = UncurrySym2 k k1 k2 l1 l0

type UncurrySym2 t t = Uncurry t t Source

data SwapSym0 l Source

Instances

 SuppressUnusedWarnings (TyFun ((,) k k) ((,) k k) -> *) (SwapSym0 k k) type Apply ((,) k1 k) ((,) k k1) (SwapSym0 k k1) l0 = SwapSym1 k k1 l0

type SwapSym1 t = Swap t Source