singletons-2.1: 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_1627793819)` = x

type family Snd a :: b Source

Equations

 Snd `(_z_1627793810, 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

type Tuple0Sym0 = `()` Source

data Tuple2Sym0 l Source

Instances

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

data Tuple2Sym1 l l Source

Instances

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

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) Source type Apply (TyFun k1 (TyFun k2 ((,,) k k1 k2) -> *) -> *) k (Tuple3Sym0 k k1 k2) l0 = Tuple3Sym1 k k1 k2 l0 Source

data Tuple3Sym1 l l Source

Instances

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

data Tuple3Sym2 l l l Source

Instances

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

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) Source type Apply (TyFun k1 (TyFun k2 (TyFun k3 ((,,,) k k1 k2 k3) -> *) -> *) -> *) k (Tuple4Sym0 k k1 k2 k3) l0 = Tuple4Sym1 k k1 k2 k3 l0 Source

data Tuple4Sym1 l l Source

Instances

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

data Tuple4Sym2 l l l Source

Instances

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

data Tuple4Sym3 l l l l Source

Instances

 SuppressUnusedWarnings (k -> k -> k -> TyFun k ((,,,) k k k k) -> *) (Tuple4Sym3 k k k k) Source 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 Source

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) Source type Apply (TyFun k1 (TyFun k2 (TyFun k3 (TyFun k4 ((,,,,) k k1 k2 k3 k4) -> *) -> *) -> *) -> *) k (Tuple5Sym0 k k1 k2 k3 k4) l0 = Tuple5Sym1 k k1 k2 k3 k4 l0 Source

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) Source type Apply (TyFun k1 (TyFun k2 (TyFun k3 ((,,,,) k4 k k1 k2 k3) -> *) -> *) -> *) k (Tuple5Sym1 k4 k k1 k2 k3 l1) l0 = Tuple5Sym2 k4 k k1 k2 k3 l1 l0 Source

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) Source type Apply (TyFun k1 (TyFun k2 ((,,,,) k3 k4 k k1 k2) -> *) -> *) k (Tuple5Sym2 k3 k4 k k1 k2 l1 l2) l0 = Tuple5Sym3 k3 k4 k k1 k2 l1 l2 l0 Source

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) Source type Apply (TyFun k1 ((,,,,) k2 k3 k4 k k1) -> *) k (Tuple5Sym3 k2 k3 k4 k k1 l1 l2 l3) l0 = Tuple5Sym4 k2 k3 k4 k k1 l1 l2 l3 l0 Source

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) Source 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 Source

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) Source type Apply (TyFun k1 (TyFun k2 (TyFun k3 (TyFun k4 (TyFun k5 ((,,,,,) k k1 k2 k3 k4 k5) -> *) -> *) -> *) -> *) -> *) k (Tuple6Sym0 k k1 k2 k3 k4 k5) l0 = Tuple6Sym1 k k1 k2 k3 k4 k5 l0 Source

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) Source type Apply (TyFun k1 (TyFun k2 (TyFun k3 (TyFun k4 ((,,,,,) k5 k k1 k2 k3 k4) -> *) -> *) -> *) -> *) k (Tuple6Sym1 k5 k k1 k2 k3 k4 l1) l0 = Tuple6Sym2 k5 k k1 k2 k3 k4 l1 l0 Source

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) Source type Apply (TyFun k1 (TyFun k2 (TyFun k3 ((,,,,,) k4 k5 k k1 k2 k3) -> *) -> *) -> *) k (Tuple6Sym2 k4 k5 k k1 k2 k3 l1 l2) l0 = Tuple6Sym3 k4 k5 k k1 k2 k3 l1 l2 l0 Source

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) Source type Apply (TyFun k1 (TyFun k2 ((,,,,,) k3 k4 k5 k k1 k2) -> *) -> *) k (Tuple6Sym3 k3 k4 k5 k k1 k2 l1 l2 l3) l0 = Tuple6Sym4 k3 k4 k5 k k1 k2 l1 l2 l3 l0 Source

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) Source type Apply (TyFun k1 ((,,,,,) k2 k3 k4 k5 k k1) -> *) k (Tuple6Sym4 k2 k3 k4 k5 k k1 l1 l2 l3 l4) l0 = Tuple6Sym5 k2 k3 k4 k5 k k1 l1 l2 l3 l4 l0 Source

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) Source 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 Source

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) Source type Apply (TyFun k1 (TyFun k2 (TyFun k3 (TyFun k4 (TyFun k5 (TyFun k6 ((,,,,,,) k k1 k2 k3 k4 k5 k6) -> *) -> *) -> *) -> *) -> *) -> *) k (Tuple7Sym0 k k1 k2 k3 k4 k5 k6) l0 = Tuple7Sym1 k k1 k2 k3 k4 k5 k6 l0 Source

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) Source type Apply (TyFun k1 (TyFun k2 (TyFun k3 (TyFun k4 (TyFun k5 ((,,,,,,) k6 k k1 k2 k3 k4 k5) -> *) -> *) -> *) -> *) -> *) k (Tuple7Sym1 k6 k k1 k2 k3 k4 k5 l1) l0 = Tuple7Sym2 k6 k k1 k2 k3 k4 k5 l1 l0 Source

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) Source type Apply (TyFun k1 (TyFun k2 (TyFun k3 (TyFun k4 ((,,,,,,) k5 k6 k k1 k2 k3 k4) -> *) -> *) -> *) -> *) k (Tuple7Sym2 k5 k6 k k1 k2 k3 k4 l1 l2) l0 = Tuple7Sym3 k5 k6 k k1 k2 k3 k4 l1 l2 l0 Source

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) Source type Apply (TyFun k1 (TyFun k2 (TyFun k3 ((,,,,,,) k4 k5 k6 k k1 k2 k3) -> *) -> *) -> *) k (Tuple7Sym3 k4 k5 k6 k k1 k2 k3 l1 l2 l3) l0 = Tuple7Sym4 k4 k5 k6 k k1 k2 k3 l1 l2 l3 l0 Source

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) Source type Apply (TyFun k1 (TyFun k2 ((,,,,,,) k3 k4 k5 k6 k k1 k2) -> *) -> *) k (Tuple7Sym4 k3 k4 k5 k6 k k1 k2 l1 l2 l3 l4) l0 = Tuple7Sym5 k3 k4 k5 k6 k k1 k2 l1 l2 l3 l4 l0 Source

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) Source type Apply (TyFun k1 ((,,,,,,) k2 k3 k4 k5 k6 k k1) -> *) k (Tuple7Sym5 k2 k3 k4 k5 k6 k k1 l1 l2 l3 l4 l5) l0 = Tuple7Sym6 k2 k3 k4 k5 k6 k k1 l1 l2 l3 l4 l5 l0 Source

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) Source 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 Source

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) Source type Apply k ((,) k k1) (FstSym0 k k1) l0 = FstSym1 k k1 l0 Source

type FstSym1 t = Fst t Source

data SndSym0 l Source

Instances

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

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) Source type Apply (TyFun k (TyFun k1 k2 -> *) -> *) (TyFun ((,) k k1) k2 -> *) (CurrySym0 k k1 k2) l0 = CurrySym1 k k1 k2 l0 Source

data CurrySym1 l l Source

Instances

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

data CurrySym2 l l l Source

Instances

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

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) Source type Apply (TyFun ((,) k k1) k2 -> *) (TyFun k (TyFun k1 k2 -> *) -> *) (UncurrySym0 k k1 k2) l0 = UncurrySym1 k k1 k2 l0 Source

data UncurrySym1 l l Source

Instances

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

type UncurrySym2 t t = Uncurry t t Source

data SwapSym0 l Source

Instances

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

type SwapSym1 t = Swap t Source