singletons-base-3.1: A promoted and singled version of the base library
Copyright(C) 2013 Richard Eisenberg
LicenseBSD-style (see LICENSE)
MaintainerRyan Scott
Stabilityexperimental
Portabilitynon-portable
Safe HaskellSafe-Inferred
LanguageHaskell2010

Data.Tuple.Singletons

Description

Defines functions and datatypes relating to the singleton for tuples, including singled versions 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
  • type family Sing :: k -> Type
  • data STuple0 :: () -> Type where
  • data STuple2 :: forall (a :: Type) (b :: Type). (a, b) -> Type where
  • data STuple3 :: forall (a :: Type) (b :: Type) (c :: Type). (a, b, c) -> Type where
  • data STuple4 :: forall (a :: Type) (b :: Type) (c :: Type) (d :: Type). (a, b, c, d) -> Type where
  • data STuple5 :: forall (a :: Type) (b :: Type) (c :: Type) (d :: Type) (e :: Type). (a, b, c, d, e) -> Type where
  • data STuple6 :: forall (a :: Type) (b :: Type) (c :: Type) (d :: Type) (e :: Type) (f :: Type). (a, b, c, d, e, f) -> Type where
  • data STuple7 :: forall (a :: Type) (b :: Type) (c :: Type) (d :: Type) (e :: Type) (f :: Type) (g :: Type). (a, b, c, d, e, f, g) -> Type where
  • type family Fst (a :: (a, b)) :: a where ...
  • sFst :: forall a b (t :: (a, b)). Sing t -> Sing (Apply FstSym0 t :: a)
  • type family Snd (a :: (a, b)) :: b where ...
  • sSnd :: forall a b (t :: (a, b)). Sing t -> Sing (Apply SndSym0 t :: b)
  • type family Curry (a :: (~>) (a, b) c) (a :: a) (a :: b) :: c where ...
  • sCurry :: forall a b c (t :: (~>) (a, b) c) (t :: a) (t :: b). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply CurrySym0 t) t) t :: c)
  • type family Uncurry (a :: (~>) a ((~>) b c)) (a :: (a, b)) :: c where ...
  • sUncurry :: forall a b c (t :: (~>) a ((~>) b c)) (t :: (a, b)). Sing t -> Sing t -> Sing (Apply (Apply UncurrySym0 t) t :: c)
  • type family Swap (a :: (a, b)) :: (b, a) where ...
  • sSwap :: forall a b (t :: (a, b)). Sing t -> Sing (Apply SwapSym0 t :: (b, a))
  • type family Tuple0Sym0 :: () where ...
  • data Tuple2Sym0 :: (~>) a ((~>) b (a :: Type, b :: Type))
  • data Tuple2Sym1 (a6989586621679042597 :: a) :: (~>) b (a :: Type, b :: Type)
  • type family Tuple2Sym2 (a6989586621679042597 :: a) (a6989586621679042598 :: b) :: (a :: Type, b :: Type) where ...
  • data Tuple3Sym0 :: (~>) a ((~>) b ((~>) c (a :: Type, b :: Type, c :: Type)))
  • data Tuple3Sym1 (a6989586621679042628 :: a) :: (~>) b ((~>) c (a :: Type, b :: Type, c :: Type))
  • data Tuple3Sym2 (a6989586621679042628 :: a) (a6989586621679042629 :: b) :: (~>) c (a :: Type, b :: Type, c :: Type)
  • type family Tuple3Sym3 (a6989586621679042628 :: a) (a6989586621679042629 :: b) (a6989586621679042630 :: c) :: (a :: Type, b :: Type, c :: Type) where ...
  • data Tuple4Sym0 :: (~>) a ((~>) b ((~>) c ((~>) d (a :: Type, b :: Type, c :: Type, d :: Type))))
  • data Tuple4Sym1 (a6989586621679042677 :: a) :: (~>) b ((~>) c ((~>) d (a :: Type, b :: Type, c :: Type, d :: Type)))
  • data Tuple4Sym2 (a6989586621679042677 :: a) (a6989586621679042678 :: b) :: (~>) c ((~>) d (a :: Type, b :: Type, c :: Type, d :: Type))
  • data Tuple4Sym3 (a6989586621679042677 :: a) (a6989586621679042678 :: b) (a6989586621679042679 :: c) :: (~>) d (a :: Type, b :: Type, c :: Type, d :: Type)
  • type family Tuple4Sym4 (a6989586621679042677 :: a) (a6989586621679042678 :: b) (a6989586621679042679 :: c) (a6989586621679042680 :: d) :: (a :: Type, b :: Type, c :: Type, d :: Type) where ...
  • data Tuple5Sym0 :: (~>) a ((~>) b ((~>) c ((~>) d ((~>) e (a :: Type, b :: Type, c :: Type, d :: Type, e :: Type)))))
  • data Tuple5Sym1 (a6989586621679042746 :: a) :: (~>) b ((~>) c ((~>) d ((~>) e (a :: Type, b :: Type, c :: Type, d :: Type, e :: Type))))
  • data Tuple5Sym2 (a6989586621679042746 :: a) (a6989586621679042747 :: b) :: (~>) c ((~>) d ((~>) e (a :: Type, b :: Type, c :: Type, d :: Type, e :: Type)))
  • data Tuple5Sym3 (a6989586621679042746 :: a) (a6989586621679042747 :: b) (a6989586621679042748 :: c) :: (~>) d ((~>) e (a :: Type, b :: Type, c :: Type, d :: Type, e :: Type))
  • data Tuple5Sym4 (a6989586621679042746 :: a) (a6989586621679042747 :: b) (a6989586621679042748 :: c) (a6989586621679042749 :: d) :: (~>) e (a :: Type, b :: Type, c :: Type, d :: Type, e :: Type)
  • type family Tuple5Sym5 (a6989586621679042746 :: a) (a6989586621679042747 :: b) (a6989586621679042748 :: c) (a6989586621679042749 :: d) (a6989586621679042750 :: e) :: (a :: Type, b :: Type, c :: Type, d :: Type, e :: Type) where ...
  • data Tuple6Sym0 :: (~>) a ((~>) b ((~>) c ((~>) d ((~>) e ((~>) f (a :: Type, b :: Type, c :: Type, d :: Type, e :: Type, f :: Type))))))
  • data Tuple6Sym1 (a6989586621679042837 :: a) :: (~>) b ((~>) c ((~>) d ((~>) e ((~>) f (a :: Type, b :: Type, c :: Type, d :: Type, e :: Type, f :: Type)))))
  • data Tuple6Sym2 (a6989586621679042837 :: a) (a6989586621679042838 :: b) :: (~>) c ((~>) d ((~>) e ((~>) f (a :: Type, b :: Type, c :: Type, d :: Type, e :: Type, f :: Type))))
  • data Tuple6Sym3 (a6989586621679042837 :: a) (a6989586621679042838 :: b) (a6989586621679042839 :: c) :: (~>) d ((~>) e ((~>) f (a :: Type, b :: Type, c :: Type, d :: Type, e :: Type, f :: Type)))
  • data Tuple6Sym4 (a6989586621679042837 :: a) (a6989586621679042838 :: b) (a6989586621679042839 :: c) (a6989586621679042840 :: d) :: (~>) e ((~>) f (a :: Type, b :: Type, c :: Type, d :: Type, e :: Type, f :: Type))
  • data Tuple6Sym5 (a6989586621679042837 :: a) (a6989586621679042838 :: b) (a6989586621679042839 :: c) (a6989586621679042840 :: d) (a6989586621679042841 :: e) :: (~>) f (a :: Type, b :: Type, c :: Type, d :: Type, e :: Type, f :: Type)
  • type family Tuple6Sym6 (a6989586621679042837 :: a) (a6989586621679042838 :: b) (a6989586621679042839 :: c) (a6989586621679042840 :: d) (a6989586621679042841 :: e) (a6989586621679042842 :: f) :: (a :: Type, b :: Type, c :: Type, d :: Type, e :: Type, f :: Type) where ...
  • data Tuple7Sym0 :: (~>) a ((~>) b ((~>) c ((~>) d ((~>) e ((~>) f ((~>) g (a :: Type, b :: Type, c :: Type, d :: Type, e :: Type, f :: Type, g :: Type)))))))
  • data Tuple7Sym1 (a6989586621679042952 :: a) :: (~>) b ((~>) c ((~>) d ((~>) e ((~>) f ((~>) g (a :: Type, b :: Type, c :: Type, d :: Type, e :: Type, f :: Type, g :: Type))))))
  • data Tuple7Sym2 (a6989586621679042952 :: a) (a6989586621679042953 :: b) :: (~>) c ((~>) d ((~>) e ((~>) f ((~>) g (a :: Type, b :: Type, c :: Type, d :: Type, e :: Type, f :: Type, g :: Type)))))
  • data Tuple7Sym3 (a6989586621679042952 :: a) (a6989586621679042953 :: b) (a6989586621679042954 :: c) :: (~>) d ((~>) e ((~>) f ((~>) g (a :: Type, b :: Type, c :: Type, d :: Type, e :: Type, f :: Type, g :: Type))))
  • data Tuple7Sym4 (a6989586621679042952 :: a) (a6989586621679042953 :: b) (a6989586621679042954 :: c) (a6989586621679042955 :: d) :: (~>) e ((~>) f ((~>) g (a :: Type, b :: Type, c :: Type, d :: Type, e :: Type, f :: Type, g :: Type)))
  • data Tuple7Sym5 (a6989586621679042952 :: a) (a6989586621679042953 :: b) (a6989586621679042954 :: c) (a6989586621679042955 :: d) (a6989586621679042956 :: e) :: (~>) f ((~>) g (a :: Type, b :: Type, c :: Type, d :: Type, e :: Type, f :: Type, g :: Type))
  • data Tuple7Sym6 (a6989586621679042952 :: a) (a6989586621679042953 :: b) (a6989586621679042954 :: c) (a6989586621679042955 :: d) (a6989586621679042956 :: e) (a6989586621679042957 :: f) :: (~>) g (a :: Type, b :: Type, c :: Type, d :: Type, e :: Type, f :: Type, g :: Type)
  • type family Tuple7Sym7 (a6989586621679042952 :: a) (a6989586621679042953 :: b) (a6989586621679042954 :: c) (a6989586621679042955 :: d) (a6989586621679042956 :: e) (a6989586621679042957 :: f) (a6989586621679042958 :: g) :: (a :: Type, b :: Type, c :: Type, d :: Type, e :: Type, f :: Type, g :: Type) where ...
  • data FstSym0 :: (~>) (a, b) a
  • type family FstSym1 (a6989586621679279992 :: (a, b)) :: a where ...
  • data SndSym0 :: (~>) (a, b) b
  • type family SndSym1 (a6989586621679279988 :: (a, b)) :: b where ...
  • data CurrySym0 :: (~>) ((~>) (a, b) c) ((~>) a ((~>) b c))
  • data CurrySym1 (a6989586621679279980 :: (~>) (a, b) c) :: (~>) a ((~>) b c)
  • data CurrySym2 (a6989586621679279980 :: (~>) (a, b) c) (a6989586621679279981 :: a) :: (~>) b c
  • type family CurrySym3 (a6989586621679279980 :: (~>) (a, b) c) (a6989586621679279981 :: a) (a6989586621679279982 :: b) :: c where ...
  • data UncurrySym0 :: (~>) ((~>) a ((~>) b c)) ((~>) (a, b) c)
  • data UncurrySym1 (a6989586621679279972 :: (~>) a ((~>) b c)) :: (~>) (a, b) c
  • type family UncurrySym2 (a6989586621679279972 :: (~>) a ((~>) b c)) (a6989586621679279973 :: (a, b)) :: c where ...
  • data SwapSym0 :: (~>) (a, b) (b, a)
  • type family SwapSym1 (a6989586621679279966 :: (a, b)) :: (b, a) where ...

Singleton definitions

See Sing for more info.

type family Sing :: k -> Type #

Instances

Instances details
type Sing Source # 
Instance details

Defined in Data.Semigroup.Singletons.Internal

type Sing = SAll
type Sing Source # 
Instance details

Defined in Data.Semigroup.Singletons.Internal

type Sing = SAny
type Sing Source # 
Instance details

Defined in Data.Singletons.Base.Instances

type Sing = SVoid
type Sing Source # 
Instance details

Defined in Data.Singletons.Base.Instances

type Sing Source # 
Instance details

Defined in Data.Singletons.Base.TypeError

type Sing Source # 
Instance details

Defined in GHC.TypeLits.Singletons.Internal

type Sing = SNat
type Sing Source # 
Instance details

Defined in Data.Singletons.Base.Instances

type Sing = STuple0
type Sing Source # 
Instance details

Defined in Data.Singletons.Base.Instances

type Sing = SBool
type Sing Source # 
Instance details

Defined in GHC.TypeLits.Singletons.Internal

type Sing = SChar
type Sing Source # 
Instance details

Defined in GHC.TypeLits.Singletons.Internal

type Sing = SSymbol
type Sing Source # 
Instance details

Defined in Data.Singletons.Base.Instances

type Sing = SIdentity :: Identity a -> Type
type Sing Source # 
Instance details

Defined in Data.Monoid.Singletons

type Sing = SFirst :: First a -> Type
type Sing Source # 
Instance details

Defined in Data.Monoid.Singletons

type Sing = SLast :: Last a -> Type
type Sing Source # 
Instance details

Defined in Data.Ord.Singletons

type Sing = SDown :: Down a -> Type
type Sing Source # 
Instance details

Defined in Data.Semigroup.Singletons.Internal

type Sing = SFirst :: First a -> Type
type Sing Source # 
Instance details

Defined in Data.Semigroup.Singletons.Internal

type Sing = SLast :: Last a -> Type
type Sing Source # 
Instance details

Defined in Data.Semigroup.Singletons.Internal

type Sing = SMax :: Max a -> Type
type Sing Source # 
Instance details

Defined in Data.Semigroup.Singletons.Internal

type Sing = SMin :: Min a -> Type
type Sing Source # 
Instance details

Defined in Data.Semigroup.Singletons.Internal

type Sing Source # 
Instance details

Defined in Data.Semigroup.Singletons.Internal

type Sing = SDual :: Dual a -> Type
type Sing Source # 
Instance details

Defined in Data.Semigroup.Singletons.Internal

type Sing = SProduct :: Product a -> Type
type Sing Source # 
Instance details

Defined in Data.Semigroup.Singletons.Internal

type Sing = SSum :: Sum a -> Type
type Sing Source # 
Instance details

Defined in Data.Singletons.Base.Instances

type Sing = SNonEmpty :: NonEmpty a -> Type
type Sing Source # 
Instance details

Defined in Data.Singletons.Base.Instances

type Sing = SMaybe :: Maybe a -> Type
type Sing Source #

A choice of singleton for the kind TYPE rep (for some RuntimeRep rep), an instantiation of which is the famous kind Type.

Conceivably, one could generalize this instance to `Sing @k` for any kind k, and remove all other Sing instances. We don't adopt this design, however, since it is far more convenient in practice to work with explicit singleton values than TypeReps (for instance, TypeReps are more difficult to pattern match on, and require extra runtime checks).

We cannot produce explicit singleton values for everything in TYPE rep, however, since it is an open kind, so we reach for TypeRep in this one particular case.

Instance details

Defined in Data.Singletons.Base.TypeRepTYPE

type Sing = TypeRep :: TYPE rep -> Type
type Sing Source # 
Instance details

Defined in Data.Singletons.Base.Instances

type Sing = SList :: [a] -> Type
type Sing Source # 
Instance details

Defined in Data.Singletons.Base.Instances

type Sing = SEither :: Either a b -> Type
type Sing Source # 
Instance details

Defined in Data.Proxy.Singletons

type Sing = SProxy :: Proxy t -> Type
type Sing Source # 
Instance details

Defined in Data.Semigroup.Singletons

type Sing = SArg :: Arg a b -> Type
type Sing 
Instance details

Defined in Data.Singletons

type Sing = SWrappedSing :: WrappedSing a -> Type
type Sing 
Instance details

Defined in Data.Singletons

type Sing = SLambda :: (k1 ~> k2) -> Type
type Sing Source # 
Instance details

Defined in Data.Singletons.Base.Instances

type Sing = STuple2 :: (a, b) -> Type
type Sing Source # 
Instance details

Defined in Data.Functor.Const.Singletons

type Sing = SConst :: Const a b -> Type
type Sing Source # 
Instance details

Defined in Data.Singletons.Base.Instances

type Sing = STuple3 :: (a, b, c) -> Type
type Sing Source # 
Instance details

Defined in Data.Functor.Product.Singletons

type Sing = SProduct :: Product f g a -> Type
type Sing Source # 
Instance details

Defined in Data.Functor.Sum.Singletons

type Sing = SSum :: Sum f g a -> Type
type Sing Source # 
Instance details

Defined in Data.Singletons.Base.Instances

type Sing = STuple4 :: (a, b, c, d) -> Type
type Sing Source # 
Instance details

Defined in Data.Functor.Compose.Singletons

type Sing = SCompose :: Compose f g a -> Type
type Sing Source # 
Instance details

Defined in Data.Singletons.Base.Instances

type Sing = STuple5 :: (a, b, c, d, e) -> Type
type Sing Source # 
Instance details

Defined in Data.Singletons.Base.Instances

type Sing = STuple6 :: (a, b, c, d, e, f) -> Type
type Sing Source # 
Instance details

Defined in Data.Singletons.Base.Instances

type Sing = STuple7 :: (a, b, c, d, e, f, g) -> Type

data STuple0 :: () -> Type where Source #

Constructors

STuple0 :: STuple0 ('() :: ()) 

Instances

Instances details
TestCoercion STuple0 Source # 
Instance details

Defined in Data.Singletons.Base.Instances

Methods

testCoercion :: forall (a :: k) (b :: k). STuple0 a -> STuple0 b -> Maybe (Coercion a b) #

TestEquality STuple0 Source # 
Instance details

Defined in Data.Singletons.Base.Instances

Methods

testEquality :: forall (a :: k) (b :: k). STuple0 a -> STuple0 b -> Maybe (a :~: b) #

Show (STuple0 z) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

Methods

showsPrec :: Int -> STuple0 z -> ShowS #

show :: STuple0 z -> String #

showList :: [STuple0 z] -> ShowS #

data STuple2 :: forall (a :: Type) (b :: Type). (a, b) -> Type where Source #

Constructors

STuple2 :: forall (a :: Type) (b :: Type) (n :: a) (n :: b). (Sing n) -> (Sing n) -> STuple2 ('(n, n) :: (a :: Type, b :: Type)) 

Instances

Instances details
(SDecide a, SDecide b) => TestCoercion (STuple2 :: (a, b) -> Type) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

Methods

testCoercion :: forall (a0 :: k) (b0 :: k). STuple2 a0 -> STuple2 b0 -> Maybe (Coercion a0 b0) #

(SDecide a, SDecide b) => TestEquality (STuple2 :: (a, b) -> Type) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

Methods

testEquality :: forall (a0 :: k) (b0 :: k). STuple2 a0 -> STuple2 b0 -> Maybe (a0 :~: b0) #

(ShowSing a, ShowSing b) => Show (STuple2 z) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

Methods

showsPrec :: Int -> STuple2 z -> ShowS #

show :: STuple2 z -> String #

showList :: [STuple2 z] -> ShowS #

data STuple3 :: forall (a :: Type) (b :: Type) (c :: Type). (a, b, c) -> Type where Source #

Constructors

STuple3 :: forall (a :: Type) (b :: Type) (c :: Type) (n :: a) (n :: b) (n :: c). (Sing n) -> (Sing n) -> (Sing n) -> STuple3 ('(n, n, n) :: (a :: Type, b :: Type, c :: Type)) 

Instances

Instances details
(SDecide a, SDecide b, SDecide c) => TestCoercion (STuple3 :: (a, b, c) -> Type) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

Methods

testCoercion :: forall (a0 :: k) (b0 :: k). STuple3 a0 -> STuple3 b0 -> Maybe (Coercion a0 b0) #

(SDecide a, SDecide b, SDecide c) => TestEquality (STuple3 :: (a, b, c) -> Type) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

Methods

testEquality :: forall (a0 :: k) (b0 :: k). STuple3 a0 -> STuple3 b0 -> Maybe (a0 :~: b0) #

(ShowSing a, ShowSing b, ShowSing c) => Show (STuple3 z) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

Methods

showsPrec :: Int -> STuple3 z -> ShowS #

show :: STuple3 z -> String #

showList :: [STuple3 z] -> ShowS #

data STuple4 :: forall (a :: Type) (b :: Type) (c :: Type) (d :: Type). (a, b, c, d) -> Type where Source #

Constructors

STuple4 :: forall (a :: Type) (b :: Type) (c :: Type) (d :: Type) (n :: a) (n :: b) (n :: c) (n :: d). (Sing n) -> (Sing n) -> (Sing n) -> (Sing n) -> STuple4 ('(n, n, n, n) :: (a :: Type, b :: Type, c :: Type, d :: Type)) 

Instances

Instances details
(SDecide a, SDecide b, SDecide c, SDecide d) => TestCoercion (STuple4 :: (a, b, c, d) -> Type) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

Methods

testCoercion :: forall (a0 :: k) (b0 :: k). STuple4 a0 -> STuple4 b0 -> Maybe (Coercion a0 b0) #

(SDecide a, SDecide b, SDecide c, SDecide d) => TestEquality (STuple4 :: (a, b, c, d) -> Type) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

Methods

testEquality :: forall (a0 :: k) (b0 :: k). STuple4 a0 -> STuple4 b0 -> Maybe (a0 :~: b0) #

(ShowSing a, ShowSing b, ShowSing c, ShowSing d) => Show (STuple4 z) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

Methods

showsPrec :: Int -> STuple4 z -> ShowS #

show :: STuple4 z -> String #

showList :: [STuple4 z] -> ShowS #

data STuple5 :: forall (a :: Type) (b :: Type) (c :: Type) (d :: Type) (e :: Type). (a, b, c, d, e) -> Type where Source #

Constructors

STuple5 :: forall (a :: Type) (b :: Type) (c :: Type) (d :: Type) (e :: Type) (n :: a) (n :: b) (n :: c) (n :: d) (n :: e). (Sing n) -> (Sing n) -> (Sing n) -> (Sing n) -> (Sing n) -> STuple5 ('(n, n, n, n, n) :: (a :: Type, b :: Type, c :: Type, d :: Type, e :: Type)) 

Instances

Instances details
(SDecide a, SDecide b, SDecide c, SDecide d, SDecide e) => TestCoercion (STuple5 :: (a, b, c, d, e) -> Type) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

Methods

testCoercion :: forall (a0 :: k) (b0 :: k). STuple5 a0 -> STuple5 b0 -> Maybe (Coercion a0 b0) #

(SDecide a, SDecide b, SDecide c, SDecide d, SDecide e) => TestEquality (STuple5 :: (a, b, c, d, e) -> Type) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

Methods

testEquality :: forall (a0 :: k) (b0 :: k). STuple5 a0 -> STuple5 b0 -> Maybe (a0 :~: b0) #

(ShowSing a, ShowSing b, ShowSing c, ShowSing d, ShowSing e) => Show (STuple5 z) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

Methods

showsPrec :: Int -> STuple5 z -> ShowS #

show :: STuple5 z -> String #

showList :: [STuple5 z] -> ShowS #

data STuple6 :: forall (a :: Type) (b :: Type) (c :: Type) (d :: Type) (e :: Type) (f :: Type). (a, b, c, d, e, f) -> Type where Source #

Constructors

STuple6 :: forall (a :: Type) (b :: Type) (c :: Type) (d :: Type) (e :: Type) (f :: Type) (n :: a) (n :: b) (n :: c) (n :: d) (n :: e) (n :: f). (Sing n) -> (Sing n) -> (Sing n) -> (Sing n) -> (Sing n) -> (Sing n) -> STuple6 ('(n, n, n, n, n, n) :: (a :: Type, b :: Type, c :: Type, d :: Type, e :: Type, f :: Type)) 

Instances

Instances details
(SDecide a, SDecide b, SDecide c, SDecide d, SDecide e, SDecide f) => TestCoercion (STuple6 :: (a, b, c, d, e, f) -> Type) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

Methods

testCoercion :: forall (a0 :: k) (b0 :: k). STuple6 a0 -> STuple6 b0 -> Maybe (Coercion a0 b0) #

(SDecide a, SDecide b, SDecide c, SDecide d, SDecide e, SDecide f) => TestEquality (STuple6 :: (a, b, c, d, e, f) -> Type) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

Methods

testEquality :: forall (a0 :: k) (b0 :: k). STuple6 a0 -> STuple6 b0 -> Maybe (a0 :~: b0) #

(ShowSing a, ShowSing b, ShowSing c, ShowSing d, ShowSing e, ShowSing f) => Show (STuple6 z) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

Methods

showsPrec :: Int -> STuple6 z -> ShowS #

show :: STuple6 z -> String #

showList :: [STuple6 z] -> ShowS #

data STuple7 :: forall (a :: Type) (b :: Type) (c :: Type) (d :: Type) (e :: Type) (f :: Type) (g :: Type). (a, b, c, d, e, f, g) -> Type where Source #

Constructors

STuple7 :: forall (a :: Type) (b :: Type) (c :: Type) (d :: Type) (e :: Type) (f :: Type) (g :: Type) (n :: a) (n :: b) (n :: c) (n :: d) (n :: e) (n :: f) (n :: g). (Sing n) -> (Sing n) -> (Sing n) -> (Sing n) -> (Sing n) -> (Sing n) -> (Sing n) -> STuple7 ('(n, n, n, n, n, n, n) :: (a :: Type, b :: Type, c :: Type, d :: Type, e :: Type, f :: Type, g :: Type)) 

Instances

Instances details
(SDecide a, SDecide b, SDecide c, SDecide d, SDecide e, SDecide f, SDecide g) => TestCoercion (STuple7 :: (a, b, c, d, e, f, g) -> Type) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

Methods

testCoercion :: forall (a0 :: k) (b0 :: k). STuple7 a0 -> STuple7 b0 -> Maybe (Coercion a0 b0) #

(SDecide a, SDecide b, SDecide c, SDecide d, SDecide e, SDecide f, SDecide g) => TestEquality (STuple7 :: (a, b, c, d, e, f, g) -> Type) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

Methods

testEquality :: forall (a0 :: k) (b0 :: k). STuple7 a0 -> STuple7 b0 -> Maybe (a0 :~: b0) #

(ShowSing a, ShowSing b, ShowSing c, ShowSing d, ShowSing e, ShowSing f, ShowSing g) => Show (STuple7 z) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

Methods

showsPrec :: Int -> STuple7 z -> ShowS #

show :: STuple7 z -> String #

showList :: [STuple7 z] -> ShowS #

Singletons from Data.Tuple

type family Fst (a :: (a, b)) :: a where ... Source #

Equations

Fst '(x, _) = x 

sFst :: forall a b (t :: (a, b)). Sing t -> Sing (Apply FstSym0 t :: a) Source #

type family Snd (a :: (a, b)) :: b where ... Source #

Equations

Snd '(_, y) = y 

sSnd :: forall a b (t :: (a, b)). Sing t -> Sing (Apply SndSym0 t :: b) Source #

type family Curry (a :: (~>) (a, b) c) (a :: a) (a :: b) :: c where ... Source #

Equations

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

sCurry :: forall a b c (t :: (~>) (a, b) c) (t :: a) (t :: b). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply CurrySym0 t) t) t :: c) Source #

type family Uncurry (a :: (~>) a ((~>) b c)) (a :: (a, b)) :: c where ... Source #

Equations

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

sUncurry :: forall a b c (t :: (~>) a ((~>) b c)) (t :: (a, b)). Sing t -> Sing t -> Sing (Apply (Apply UncurrySym0 t) t :: c) Source #

type family Swap (a :: (a, b)) :: (b, a) where ... Source #

Equations

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

sSwap :: forall a b (t :: (a, b)). Sing t -> Sing (Apply SwapSym0 t :: (b, a)) Source #

Defunctionalization symbols

type family Tuple0Sym0 :: () where ... Source #

Equations

Tuple0Sym0 = '() 

data Tuple2Sym0 :: (~>) a ((~>) b (a :: Type, b :: Type)) Source #

Instances

Instances details
SingI (Tuple2Sym0 :: TyFun a (b ~> (a, b)) -> Type) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

Methods

sing :: Sing Tuple2Sym0

SuppressUnusedWarnings (Tuple2Sym0 :: TyFun a (b ~> (a, b)) -> Type) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

type Apply (Tuple2Sym0 :: TyFun a (b ~> (a, b)) -> Type) (a6989586621679042597 :: a) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

type Apply (Tuple2Sym0 :: TyFun a (b ~> (a, b)) -> Type) (a6989586621679042597 :: a) = Tuple2Sym1 a6989586621679042597 :: TyFun b (a, b) -> Type

data Tuple2Sym1 (a6989586621679042597 :: a) :: (~>) b (a :: Type, b :: Type) Source #

Instances

Instances details
SingI1 (Tuple2Sym1 :: a -> TyFun b (a, b) -> Type) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

Methods

liftSing :: forall (x :: k1). Sing x -> Sing (Tuple2Sym1 x)

SingI d => SingI (Tuple2Sym1 d :: TyFun b (a, b) -> Type) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

Methods

sing :: Sing (Tuple2Sym1 d)

SuppressUnusedWarnings (Tuple2Sym1 a6989586621679042597 :: TyFun b (a, b) -> Type) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

type Apply (Tuple2Sym1 a6989586621679042597 :: TyFun k1 (k2, k1) -> Type) (a6989586621679042598 :: k1) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

type Apply (Tuple2Sym1 a6989586621679042597 :: TyFun k1 (k2, k1) -> Type) (a6989586621679042598 :: k1) = '(a6989586621679042597, a6989586621679042598)

type family Tuple2Sym2 (a6989586621679042597 :: a) (a6989586621679042598 :: b) :: (a :: Type, b :: Type) where ... Source #

Equations

Tuple2Sym2 a6989586621679042597 a6989586621679042598 = '(a6989586621679042597, a6989586621679042598) 

data Tuple3Sym0 :: (~>) a ((~>) b ((~>) c (a :: Type, b :: Type, c :: Type))) Source #

Instances

Instances details
SingI (Tuple3Sym0 :: TyFun a (b ~> (c ~> (a, b, c))) -> Type) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

Methods

sing :: Sing Tuple3Sym0

SuppressUnusedWarnings (Tuple3Sym0 :: TyFun a (b ~> (c ~> (a, b, c))) -> Type) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

type Apply (Tuple3Sym0 :: TyFun a (b ~> (c ~> (a, b, c))) -> Type) (a6989586621679042628 :: a) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

type Apply (Tuple3Sym0 :: TyFun a (b ~> (c ~> (a, b, c))) -> Type) (a6989586621679042628 :: a) = Tuple3Sym1 a6989586621679042628 :: TyFun b (c ~> (a, b, c)) -> Type

data Tuple3Sym1 (a6989586621679042628 :: a) :: (~>) b ((~>) c (a :: Type, b :: Type, c :: Type)) Source #

Instances

Instances details
SingI1 (Tuple3Sym1 :: a -> TyFun b (c ~> (a, b, c)) -> Type) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

Methods

liftSing :: forall (x :: k1). Sing x -> Sing (Tuple3Sym1 x)

SingI d => SingI (Tuple3Sym1 d :: TyFun b (c ~> (a, b, c)) -> Type) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

Methods

sing :: Sing (Tuple3Sym1 d)

SuppressUnusedWarnings (Tuple3Sym1 a6989586621679042628 :: TyFun b (c ~> (a, b, c)) -> Type) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

type Apply (Tuple3Sym1 a6989586621679042628 :: TyFun b (c ~> (a, b, c)) -> Type) (a6989586621679042629 :: b) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

type Apply (Tuple3Sym1 a6989586621679042628 :: TyFun b (c ~> (a, b, c)) -> Type) (a6989586621679042629 :: b) = Tuple3Sym2 a6989586621679042628 a6989586621679042629 :: TyFun c (a, b, c) -> Type

data Tuple3Sym2 (a6989586621679042628 :: a) (a6989586621679042629 :: b) :: (~>) c (a :: Type, b :: Type, c :: Type) Source #

Instances

Instances details
SingI2 (Tuple3Sym2 :: a -> b -> TyFun c (a, b, c) -> Type) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

Methods

liftSing2 :: forall (x :: k1) (y :: k2). Sing x -> Sing y -> Sing (Tuple3Sym2 x y)

SingI d => SingI1 (Tuple3Sym2 d :: b -> TyFun c (a, b, c) -> Type) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

Methods

liftSing :: forall (x :: k1). Sing x -> Sing (Tuple3Sym2 d x)

(SingI d1, SingI d2) => SingI (Tuple3Sym2 d1 d2 :: TyFun c (a, b, c) -> Type) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

Methods

sing :: Sing (Tuple3Sym2 d1 d2)

SuppressUnusedWarnings (Tuple3Sym2 a6989586621679042628 a6989586621679042629 :: TyFun c (a, b, c) -> Type) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

type Apply (Tuple3Sym2 a6989586621679042628 a6989586621679042629 :: TyFun k1 (k2, k3, k1) -> Type) (a6989586621679042630 :: k1) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

type Apply (Tuple3Sym2 a6989586621679042628 a6989586621679042629 :: TyFun k1 (k2, k3, k1) -> Type) (a6989586621679042630 :: k1) = '(a6989586621679042628, a6989586621679042629, a6989586621679042630)

type family Tuple3Sym3 (a6989586621679042628 :: a) (a6989586621679042629 :: b) (a6989586621679042630 :: c) :: (a :: Type, b :: Type, c :: Type) where ... Source #

Equations

Tuple3Sym3 a6989586621679042628 a6989586621679042629 a6989586621679042630 = '(a6989586621679042628, a6989586621679042629, a6989586621679042630) 

data Tuple4Sym0 :: (~>) a ((~>) b ((~>) c ((~>) d (a :: Type, b :: Type, c :: Type, d :: Type)))) Source #

Instances

Instances details
SingI (Tuple4Sym0 :: TyFun a (b ~> (c ~> (d ~> (a, b, c, d)))) -> Type) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

Methods

sing :: Sing Tuple4Sym0

SuppressUnusedWarnings (Tuple4Sym0 :: TyFun a (b ~> (c ~> (d ~> (a, b, c, d)))) -> Type) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

type Apply (Tuple4Sym0 :: TyFun a (b ~> (c ~> (d ~> (a, b, c, d)))) -> Type) (a6989586621679042677 :: a) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

type Apply (Tuple4Sym0 :: TyFun a (b ~> (c ~> (d ~> (a, b, c, d)))) -> Type) (a6989586621679042677 :: a) = Tuple4Sym1 a6989586621679042677 :: TyFun b (c ~> (d ~> (a, b, c, d))) -> Type

data Tuple4Sym1 (a6989586621679042677 :: a) :: (~>) b ((~>) c ((~>) d (a :: Type, b :: Type, c :: Type, d :: Type))) Source #

Instances

Instances details
SingI1 (Tuple4Sym1 :: a -> TyFun b (c ~> (d ~> (a, b, c, d))) -> Type) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

Methods

liftSing :: forall (x :: k1). Sing x -> Sing (Tuple4Sym1 x)

SingI d1 => SingI (Tuple4Sym1 d1 :: TyFun b (c ~> (d2 ~> (a, b, c, d2))) -> Type) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

Methods

sing :: Sing (Tuple4Sym1 d1)

SuppressUnusedWarnings (Tuple4Sym1 a6989586621679042677 :: TyFun b (c ~> (d ~> (a, b, c, d))) -> Type) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

type Apply (Tuple4Sym1 a6989586621679042677 :: TyFun b (c ~> (d ~> (a, b, c, d))) -> Type) (a6989586621679042678 :: b) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

type Apply (Tuple4Sym1 a6989586621679042677 :: TyFun b (c ~> (d ~> (a, b, c, d))) -> Type) (a6989586621679042678 :: b) = Tuple4Sym2 a6989586621679042677 a6989586621679042678 :: TyFun c (d ~> (a, b, c, d)) -> Type

data Tuple4Sym2 (a6989586621679042677 :: a) (a6989586621679042678 :: b) :: (~>) c ((~>) d (a :: Type, b :: Type, c :: Type, d :: Type)) Source #

Instances

Instances details
SingI2 (Tuple4Sym2 :: a -> b -> TyFun c (d ~> (a, b, c, d)) -> Type) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

Methods

liftSing2 :: forall (x :: k1) (y :: k2). Sing x -> Sing y -> Sing (Tuple4Sym2 x y)

SingI d1 => SingI1 (Tuple4Sym2 d1 :: b -> TyFun c (d2 ~> (a, b, c, d2)) -> Type) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

Methods

liftSing :: forall (x :: k1). Sing x -> Sing (Tuple4Sym2 d1 x)

(SingI d1, SingI d2) => SingI (Tuple4Sym2 d1 d2 :: TyFun c (d3 ~> (a, b, c, d3)) -> Type) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

Methods

sing :: Sing (Tuple4Sym2 d1 d2)

SuppressUnusedWarnings (Tuple4Sym2 a6989586621679042677 a6989586621679042678 :: TyFun c (d ~> (a, b, c, d)) -> Type) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

type Apply (Tuple4Sym2 a6989586621679042677 a6989586621679042678 :: TyFun c (d ~> (a, b, c, d)) -> Type) (a6989586621679042679 :: c) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

type Apply (Tuple4Sym2 a6989586621679042677 a6989586621679042678 :: TyFun c (d ~> (a, b, c, d)) -> Type) (a6989586621679042679 :: c) = Tuple4Sym3 a6989586621679042677 a6989586621679042678 a6989586621679042679 :: TyFun d (a, b, c, d) -> Type

data Tuple4Sym3 (a6989586621679042677 :: a) (a6989586621679042678 :: b) (a6989586621679042679 :: c) :: (~>) d (a :: Type, b :: Type, c :: Type, d :: Type) Source #

Instances

Instances details
SingI d1 => SingI2 (Tuple4Sym3 d1 :: b -> c -> TyFun d2 (a, b, c, d2) -> Type) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

Methods

liftSing2 :: forall (x :: k1) (y :: k2). Sing x -> Sing y -> Sing (Tuple4Sym3 d1 x y)

(SingI d1, SingI d2) => SingI1 (Tuple4Sym3 d1 d2 :: c -> TyFun d3 (a, b, c, d3) -> Type) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

Methods

liftSing :: forall (x :: k1). Sing x -> Sing (Tuple4Sym3 d1 d2 x)

(SingI d1, SingI d2, SingI d3) => SingI (Tuple4Sym3 d1 d2 d3 :: TyFun d4 (a, b, c, d4) -> Type) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

Methods

sing :: Sing (Tuple4Sym3 d1 d2 d3)

SuppressUnusedWarnings (Tuple4Sym3 a6989586621679042677 a6989586621679042678 a6989586621679042679 :: TyFun d (a, b, c, d) -> Type) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

type Apply (Tuple4Sym3 a6989586621679042677 a6989586621679042678 a6989586621679042679 :: TyFun k1 (k2, k3, k4, k1) -> Type) (a6989586621679042680 :: k1) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

type Apply (Tuple4Sym3 a6989586621679042677 a6989586621679042678 a6989586621679042679 :: TyFun k1 (k2, k3, k4, k1) -> Type) (a6989586621679042680 :: k1) = '(a6989586621679042677, a6989586621679042678, a6989586621679042679, a6989586621679042680)

type family Tuple4Sym4 (a6989586621679042677 :: a) (a6989586621679042678 :: b) (a6989586621679042679 :: c) (a6989586621679042680 :: d) :: (a :: Type, b :: Type, c :: Type, d :: Type) where ... Source #

Equations

Tuple4Sym4 a6989586621679042677 a6989586621679042678 a6989586621679042679 a6989586621679042680 = '(a6989586621679042677, a6989586621679042678, a6989586621679042679, a6989586621679042680) 

data Tuple5Sym0 :: (~>) a ((~>) b ((~>) c ((~>) d ((~>) e (a :: Type, b :: Type, c :: Type, d :: Type, e :: Type))))) Source #

Instances

Instances details
SingI (Tuple5Sym0 :: TyFun a (b ~> (c ~> (d ~> (e ~> (a, b, c, d, e))))) -> Type) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

Methods

sing :: Sing Tuple5Sym0

SuppressUnusedWarnings (Tuple5Sym0 :: TyFun a (b ~> (c ~> (d ~> (e ~> (a, b, c, d, e))))) -> Type) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

type Apply (Tuple5Sym0 :: TyFun a (b ~> (c ~> (d ~> (e ~> (a, b, c, d, e))))) -> Type) (a6989586621679042746 :: a) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

type Apply (Tuple5Sym0 :: TyFun a (b ~> (c ~> (d ~> (e ~> (a, b, c, d, e))))) -> Type) (a6989586621679042746 :: a) = Tuple5Sym1 a6989586621679042746 :: TyFun b (c ~> (d ~> (e ~> (a, b, c, d, e)))) -> Type

data Tuple5Sym1 (a6989586621679042746 :: a) :: (~>) b ((~>) c ((~>) d ((~>) e (a :: Type, b :: Type, c :: Type, d :: Type, e :: Type)))) Source #

Instances

Instances details
SingI1 (Tuple5Sym1 :: a -> TyFun b (c ~> (d ~> (e ~> (a, b, c, d, e)))) -> Type) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

Methods

liftSing :: forall (x :: k1). Sing x -> Sing (Tuple5Sym1 x)

SingI d1 => SingI (Tuple5Sym1 d1 :: TyFun b (c ~> (d2 ~> (e ~> (a, b, c, d2, e)))) -> Type) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

Methods

sing :: Sing (Tuple5Sym1 d1)

SuppressUnusedWarnings (Tuple5Sym1 a6989586621679042746 :: TyFun b (c ~> (d ~> (e ~> (a, b, c, d, e)))) -> Type) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

type Apply (Tuple5Sym1 a6989586621679042746 :: TyFun b (c ~> (d ~> (e ~> (a, b, c, d, e)))) -> Type) (a6989586621679042747 :: b) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

type Apply (Tuple5Sym1 a6989586621679042746 :: TyFun b (c ~> (d ~> (e ~> (a, b, c, d, e)))) -> Type) (a6989586621679042747 :: b) = Tuple5Sym2 a6989586621679042746 a6989586621679042747 :: TyFun c (d ~> (e ~> (a, b, c, d, e))) -> Type

data Tuple5Sym2 (a6989586621679042746 :: a) (a6989586621679042747 :: b) :: (~>) c ((~>) d ((~>) e (a :: Type, b :: Type, c :: Type, d :: Type, e :: Type))) Source #

Instances

Instances details
SingI2 (Tuple5Sym2 :: a -> b -> TyFun c (d ~> (e ~> (a, b, c, d, e))) -> Type) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

Methods

liftSing2 :: forall (x :: k1) (y :: k2). Sing x -> Sing y -> Sing (Tuple5Sym2 x y)

SingI d1 => SingI1 (Tuple5Sym2 d1 :: b -> TyFun c (d2 ~> (e ~> (a, b, c, d2, e))) -> Type) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

Methods

liftSing :: forall (x :: k1). Sing x -> Sing (Tuple5Sym2 d1 x)

(SingI d1, SingI d2) => SingI (Tuple5Sym2 d1 d2 :: TyFun c (d3 ~> (e ~> (a, b, c, d3, e))) -> Type) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

Methods

sing :: Sing (Tuple5Sym2 d1 d2)

SuppressUnusedWarnings (Tuple5Sym2 a6989586621679042746 a6989586621679042747 :: TyFun c (d ~> (e ~> (a, b, c, d, e))) -> Type) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

type Apply (Tuple5Sym2 a6989586621679042746 a6989586621679042747 :: TyFun c (d ~> (e ~> (a, b, c, d, e))) -> Type) (a6989586621679042748 :: c) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

type Apply (Tuple5Sym2 a6989586621679042746 a6989586621679042747 :: TyFun c (d ~> (e ~> (a, b, c, d, e))) -> Type) (a6989586621679042748 :: c) = Tuple5Sym3 a6989586621679042746 a6989586621679042747 a6989586621679042748 :: TyFun d (e ~> (a, b, c, d, e)) -> Type

data Tuple5Sym3 (a6989586621679042746 :: a) (a6989586621679042747 :: b) (a6989586621679042748 :: c) :: (~>) d ((~>) e (a :: Type, b :: Type, c :: Type, d :: Type, e :: Type)) Source #

Instances

Instances details
SingI d1 => SingI2 (Tuple5Sym3 d1 :: b -> c -> TyFun d2 (e ~> (a, b, c, d2, e)) -> Type) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

Methods

liftSing2 :: forall (x :: k1) (y :: k2). Sing x -> Sing y -> Sing (Tuple5Sym3 d1 x y)

(SingI d1, SingI d2) => SingI1 (Tuple5Sym3 d1 d2 :: c -> TyFun d3 (e ~> (a, b, c, d3, e)) -> Type) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

Methods

liftSing :: forall (x :: k1). Sing x -> Sing (Tuple5Sym3 d1 d2 x)

(SingI d1, SingI d2, SingI d3) => SingI (Tuple5Sym3 d1 d2 d3 :: TyFun d4 (e ~> (a, b, c, d4, e)) -> Type) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

Methods

sing :: Sing (Tuple5Sym3 d1 d2 d3)

SuppressUnusedWarnings (Tuple5Sym3 a6989586621679042746 a6989586621679042747 a6989586621679042748 :: TyFun d (e ~> (a, b, c, d, e)) -> Type) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

type Apply (Tuple5Sym3 a6989586621679042746 a6989586621679042747 a6989586621679042748 :: TyFun d (e ~> (a, b, c, d, e)) -> Type) (a6989586621679042749 :: d) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

type Apply (Tuple5Sym3 a6989586621679042746 a6989586621679042747 a6989586621679042748 :: TyFun d (e ~> (a, b, c, d, e)) -> Type) (a6989586621679042749 :: d) = Tuple5Sym4 a6989586621679042746 a6989586621679042747 a6989586621679042748 a6989586621679042749 :: TyFun e (a, b, c, d, e) -> Type

data Tuple5Sym4 (a6989586621679042746 :: a) (a6989586621679042747 :: b) (a6989586621679042748 :: c) (a6989586621679042749 :: d) :: (~>) e (a :: Type, b :: Type, c :: Type, d :: Type, e :: Type) Source #

Instances

Instances details
(SingI d1, SingI d2) => SingI2 (Tuple5Sym4 d1 d2 :: c -> d3 -> TyFun e (a, b, c, d3, e) -> Type) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

Methods

liftSing2 :: forall (x :: k1) (y :: k2). Sing x -> Sing y -> Sing (Tuple5Sym4 d1 d2 x y)

(SingI d1, SingI d2, SingI d3) => SingI1 (Tuple5Sym4 d1 d2 d3 :: d4 -> TyFun e (a, b, c, d4, e) -> Type) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

Methods

liftSing :: forall (x :: k1). Sing x -> Sing (Tuple5Sym4 d1 d2 d3 x)

(SingI d1, SingI d2, SingI d3, SingI d5) => SingI (Tuple5Sym4 d1 d2 d3 d5 :: TyFun e (a, b, c, d4, e) -> Type) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

Methods

sing :: Sing (Tuple5Sym4 d1 d2 d3 d5)

SuppressUnusedWarnings (Tuple5Sym4 a6989586621679042746 a6989586621679042747 a6989586621679042748 a6989586621679042749 :: TyFun e (a, b, c, d, e) -> Type) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

type Apply (Tuple5Sym4 a6989586621679042746 a6989586621679042747 a6989586621679042748 a6989586621679042749 :: TyFun k1 (k2, k3, k4, k5, k1) -> Type) (a6989586621679042750 :: k1) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

type Apply (Tuple5Sym4 a6989586621679042746 a6989586621679042747 a6989586621679042748 a6989586621679042749 :: TyFun k1 (k2, k3, k4, k5, k1) -> Type) (a6989586621679042750 :: k1) = '(a6989586621679042746, a6989586621679042747, a6989586621679042748, a6989586621679042749, a6989586621679042750)

type family Tuple5Sym5 (a6989586621679042746 :: a) (a6989586621679042747 :: b) (a6989586621679042748 :: c) (a6989586621679042749 :: d) (a6989586621679042750 :: e) :: (a :: Type, b :: Type, c :: Type, d :: Type, e :: Type) where ... Source #

Equations

Tuple5Sym5 a6989586621679042746 a6989586621679042747 a6989586621679042748 a6989586621679042749 a6989586621679042750 = '(a6989586621679042746, a6989586621679042747, a6989586621679042748, a6989586621679042749, a6989586621679042750) 

data Tuple6Sym0 :: (~>) a ((~>) b ((~>) c ((~>) d ((~>) e ((~>) f (a :: Type, b :: Type, c :: Type, d :: Type, e :: Type, f :: Type)))))) Source #

Instances

Instances details
SingI (Tuple6Sym0 :: TyFun a (b ~> (c ~> (d ~> (e ~> (f ~> (a, b, c, d, e, f)))))) -> Type) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

Methods

sing :: Sing Tuple6Sym0

SuppressUnusedWarnings (Tuple6Sym0 :: TyFun a (b ~> (c ~> (d ~> (e ~> (f ~> (a, b, c, d, e, f)))))) -> Type) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

type Apply (Tuple6Sym0 :: TyFun a (b ~> (c ~> (d ~> (e ~> (f ~> (a, b, c, d, e, f)))))) -> Type) (a6989586621679042837 :: a) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

type Apply (Tuple6Sym0 :: TyFun a (b ~> (c ~> (d ~> (e ~> (f ~> (a, b, c, d, e, f)))))) -> Type) (a6989586621679042837 :: a) = Tuple6Sym1 a6989586621679042837 :: TyFun b (c ~> (d ~> (e ~> (f ~> (a, b, c, d, e, f))))) -> Type

data Tuple6Sym1 (a6989586621679042837 :: a) :: (~>) b ((~>) c ((~>) d ((~>) e ((~>) f (a :: Type, b :: Type, c :: Type, d :: Type, e :: Type, f :: Type))))) Source #

Instances

Instances details
SingI1 (Tuple6Sym1 :: a -> TyFun b (c ~> (d ~> (e ~> (f ~> (a, b, c, d, e, f))))) -> Type) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

Methods

liftSing :: forall (x :: k1). Sing x -> Sing (Tuple6Sym1 x)

SingI d1 => SingI (Tuple6Sym1 d1 :: TyFun b (c ~> (d2 ~> (e ~> (f ~> (a, b, c, d2, e, f))))) -> Type) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

Methods

sing :: Sing (Tuple6Sym1 d1)

SuppressUnusedWarnings (Tuple6Sym1 a6989586621679042837 :: TyFun b (c ~> (d ~> (e ~> (f ~> (a, b, c, d, e, f))))) -> Type) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

type Apply (Tuple6Sym1 a6989586621679042837 :: TyFun b (c ~> (d ~> (e ~> (f ~> (a, b, c, d, e, f))))) -> Type) (a6989586621679042838 :: b) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

type Apply (Tuple6Sym1 a6989586621679042837 :: TyFun b (c ~> (d ~> (e ~> (f ~> (a, b, c, d, e, f))))) -> Type) (a6989586621679042838 :: b) = Tuple6Sym2 a6989586621679042837 a6989586621679042838 :: TyFun c (d ~> (e ~> (f ~> (a, b, c, d, e, f)))) -> Type

data Tuple6Sym2 (a6989586621679042837 :: a) (a6989586621679042838 :: b) :: (~>) c ((~>) d ((~>) e ((~>) f (a :: Type, b :: Type, c :: Type, d :: Type, e :: Type, f :: Type)))) Source #

Instances

Instances details
SingI2 (Tuple6Sym2 :: a -> b -> TyFun c (d ~> (e ~> (f ~> (a, b, c, d, e, f)))) -> Type) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

Methods

liftSing2 :: forall (x :: k1) (y :: k2). Sing x -> Sing y -> Sing (Tuple6Sym2 x y)

SingI d1 => SingI1 (Tuple6Sym2 d1 :: b -> TyFun c (d2 ~> (e ~> (f ~> (a, b, c, d2, e, f)))) -> Type) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

Methods

liftSing :: forall (x :: k1). Sing x -> Sing (Tuple6Sym2 d1 x)

(SingI d1, SingI d2) => SingI (Tuple6Sym2 d1 d2 :: TyFun c (d3 ~> (e ~> (f ~> (a, b, c, d3, e, f)))) -> Type) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

Methods

sing :: Sing (Tuple6Sym2 d1 d2)

SuppressUnusedWarnings (Tuple6Sym2 a6989586621679042837 a6989586621679042838 :: TyFun c (d ~> (e ~> (f ~> (a, b, c, d, e, f)))) -> Type) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

type Apply (Tuple6Sym2 a6989586621679042837 a6989586621679042838 :: TyFun c (d ~> (e ~> (f ~> (a, b, c, d, e, f)))) -> Type) (a6989586621679042839 :: c) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

type Apply (Tuple6Sym2 a6989586621679042837 a6989586621679042838 :: TyFun c (d ~> (e ~> (f ~> (a, b, c, d, e, f)))) -> Type) (a6989586621679042839 :: c) = Tuple6Sym3 a6989586621679042837 a6989586621679042838 a6989586621679042839 :: TyFun d (e ~> (f ~> (a, b, c, d, e, f))) -> Type

data Tuple6Sym3 (a6989586621679042837 :: a) (a6989586621679042838 :: b) (a6989586621679042839 :: c) :: (~>) d ((~>) e ((~>) f (a :: Type, b :: Type, c :: Type, d :: Type, e :: Type, f :: Type))) Source #

Instances

Instances details
SingI d1 => SingI2 (Tuple6Sym3 d1 :: b -> c -> TyFun d2 (e ~> (f ~> (a, b, c, d2, e, f))) -> Type) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

Methods

liftSing2 :: forall (x :: k1) (y :: k2). Sing x -> Sing y -> Sing (Tuple6Sym3 d1 x y)

(SingI d1, SingI d2) => SingI1 (Tuple6Sym3 d1 d2 :: c -> TyFun d3 (e ~> (f ~> (a, b, c, d3, e, f))) -> Type) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

Methods

liftSing :: forall (x :: k1). Sing x -> Sing (Tuple6Sym3 d1 d2 x)

(SingI d1, SingI d2, SingI d3) => SingI (Tuple6Sym3 d1 d2 d3 :: TyFun d4 (e ~> (f ~> (a, b, c, d4, e, f))) -> Type) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

Methods

sing :: Sing (Tuple6Sym3 d1 d2 d3)

SuppressUnusedWarnings (Tuple6Sym3 a6989586621679042837 a6989586621679042838 a6989586621679042839 :: TyFun d (e ~> (f ~> (a, b, c, d, e, f))) -> Type) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

type Apply (Tuple6Sym3 a6989586621679042837 a6989586621679042838 a6989586621679042839 :: TyFun d (e ~> (f ~> (a, b, c, d, e, f))) -> Type) (a6989586621679042840 :: d) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

type Apply (Tuple6Sym3 a6989586621679042837 a6989586621679042838 a6989586621679042839 :: TyFun d (e ~> (f ~> (a, b, c, d, e, f))) -> Type) (a6989586621679042840 :: d) = Tuple6Sym4 a6989586621679042837 a6989586621679042838 a6989586621679042839 a6989586621679042840 :: TyFun e (f ~> (a, b, c, d, e, f)) -> Type

data Tuple6Sym4 (a6989586621679042837 :: a) (a6989586621679042838 :: b) (a6989586621679042839 :: c) (a6989586621679042840 :: d) :: (~>) e ((~>) f (a :: Type, b :: Type, c :: Type, d :: Type, e :: Type, f :: Type)) Source #

Instances

Instances details
(SingI d1, SingI d2) => SingI2 (Tuple6Sym4 d1 d2 :: c -> d3 -> TyFun e (f ~> (a, b, c, d3, e, f)) -> Type) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

Methods

liftSing2 :: forall (x :: k1) (y :: k2). Sing x -> Sing y -> Sing (Tuple6Sym4 d1 d2 x y)

(SingI d1, SingI d2, SingI d3) => SingI1 (Tuple6Sym4 d1 d2 d3 :: d4 -> TyFun e (f ~> (a, b, c, d4, e, f)) -> Type) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

Methods

liftSing :: forall (x :: k1). Sing x -> Sing (Tuple6Sym4 d1 d2 d3 x)

(SingI d1, SingI d2, SingI d3, SingI d5) => SingI (Tuple6Sym4 d1 d2 d3 d5 :: TyFun e (f ~> (a, b, c, d4, e, f)) -> Type) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

Methods

sing :: Sing (Tuple6Sym4 d1 d2 d3 d5)

SuppressUnusedWarnings (Tuple6Sym4 a6989586621679042837 a6989586621679042838 a6989586621679042839 a6989586621679042840 :: TyFun e (f ~> (a, b, c, d, e, f)) -> Type) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

type Apply (Tuple6Sym4 a6989586621679042837 a6989586621679042838 a6989586621679042839 a6989586621679042840 :: TyFun e (f ~> (a, b, c, d, e, f)) -> Type) (a6989586621679042841 :: e) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

type Apply (Tuple6Sym4 a6989586621679042837 a6989586621679042838 a6989586621679042839 a6989586621679042840 :: TyFun e (f ~> (a, b, c, d, e, f)) -> Type) (a6989586621679042841 :: e) = Tuple6Sym5 a6989586621679042837 a6989586621679042838 a6989586621679042839 a6989586621679042840 a6989586621679042841 :: TyFun f (a, b, c, d, e, f) -> Type

data Tuple6Sym5 (a6989586621679042837 :: a) (a6989586621679042838 :: b) (a6989586621679042839 :: c) (a6989586621679042840 :: d) (a6989586621679042841 :: e) :: (~>) f (a :: Type, b :: Type, c :: Type, d :: Type, e :: Type, f :: Type) Source #

Instances

Instances details
(SingI d1, SingI d2, SingI d3) => SingI2 (Tuple6Sym5 d1 d2 d3 :: d4 -> e -> TyFun f (a, b, c, d4, e, f) -> Type) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

Methods

liftSing2 :: forall (x :: k1) (y :: k2). Sing x -> Sing y -> Sing (Tuple6Sym5 d1 d2 d3 x y)

(SingI d1, SingI d2, SingI d3, SingI d5) => SingI1 (Tuple6Sym5 d1 d2 d3 d5 :: e -> TyFun f (a, b, c, d4, e, f) -> Type) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

Methods

liftSing :: forall (x :: k1). Sing x -> Sing (Tuple6Sym5 d1 d2 d3 d5 x)

(SingI d1, SingI d2, SingI d3, SingI d5, SingI d6) => SingI (Tuple6Sym5 d1 d2 d3 d5 d6 :: TyFun f (a, b, c, d4, e, f) -> Type) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

Methods

sing :: Sing (Tuple6Sym5 d1 d2 d3 d5 d6)

SuppressUnusedWarnings (Tuple6Sym5 a6989586621679042837 a6989586621679042838 a6989586621679042839 a6989586621679042840 a6989586621679042841 :: TyFun f (a, b, c, d, e, f) -> Type) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

type Apply (Tuple6Sym5 a6989586621679042837 a6989586621679042838 a6989586621679042839 a6989586621679042840 a6989586621679042841 :: TyFun k1 (k2, k3, k4, k5, k6, k1) -> Type) (a6989586621679042842 :: k1) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

type Apply (Tuple6Sym5 a6989586621679042837 a6989586621679042838 a6989586621679042839 a6989586621679042840 a6989586621679042841 :: TyFun k1 (k2, k3, k4, k5, k6, k1) -> Type) (a6989586621679042842 :: k1) = '(a6989586621679042837, a6989586621679042838, a6989586621679042839, a6989586621679042840, a6989586621679042841, a6989586621679042842)

type family Tuple6Sym6 (a6989586621679042837 :: a) (a6989586621679042838 :: b) (a6989586621679042839 :: c) (a6989586621679042840 :: d) (a6989586621679042841 :: e) (a6989586621679042842 :: f) :: (a :: Type, b :: Type, c :: Type, d :: Type, e :: Type, f :: Type) where ... Source #

Equations

Tuple6Sym6 a6989586621679042837 a6989586621679042838 a6989586621679042839 a6989586621679042840 a6989586621679042841 a6989586621679042842 = '(a6989586621679042837, a6989586621679042838, a6989586621679042839, a6989586621679042840, a6989586621679042841, a6989586621679042842) 

data Tuple7Sym0 :: (~>) a ((~>) b ((~>) c ((~>) d ((~>) e ((~>) f ((~>) g (a :: Type, b :: Type, c :: Type, d :: Type, e :: Type, f :: Type, g :: Type))))))) Source #

Instances

Instances details
SingI (Tuple7Sym0 :: TyFun a (b ~> (c ~> (d ~> (e ~> (f ~> (g ~> (a, b, c, d, e, f, g))))))) -> Type) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

Methods

sing :: Sing Tuple7Sym0

SuppressUnusedWarnings (Tuple7Sym0 :: TyFun a (b ~> (c ~> (d ~> (e ~> (f ~> (g ~> (a, b, c, d, e, f, g))))))) -> Type) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

type Apply (Tuple7Sym0 :: TyFun a (b ~> (c ~> (d ~> (e ~> (f ~> (g ~> (a, b, c, d, e, f, g))))))) -> Type) (a6989586621679042952 :: a) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

type Apply (Tuple7Sym0 :: TyFun a (b ~> (c ~> (d ~> (e ~> (f ~> (g ~> (a, b, c, d, e, f, g))))))) -> Type) (a6989586621679042952 :: a) = Tuple7Sym1 a6989586621679042952 :: TyFun b (c ~> (d ~> (e ~> (f ~> (g ~> (a, b, c, d, e, f, g)))))) -> Type

data Tuple7Sym1 (a6989586621679042952 :: a) :: (~>) b ((~>) c ((~>) d ((~>) e ((~>) f ((~>) g (a :: Type, b :: Type, c :: Type, d :: Type, e :: Type, f :: Type, g :: Type)))))) Source #

Instances

Instances details
SingI1 (Tuple7Sym1 :: a -> TyFun b (c ~> (d ~> (e ~> (f ~> (g ~> (a, b, c, d, e, f, g)))))) -> Type) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

Methods

liftSing :: forall (x :: k1). Sing x -> Sing (Tuple7Sym1 x)

SingI d1 => SingI (Tuple7Sym1 d1 :: TyFun b (c ~> (d2 ~> (e ~> (f ~> (g ~> (a, b, c, d2, e, f, g)))))) -> Type) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

Methods

sing :: Sing (Tuple7Sym1 d1)

SuppressUnusedWarnings (Tuple7Sym1 a6989586621679042952 :: TyFun b (c ~> (d ~> (e ~> (f ~> (g ~> (a, b, c, d, e, f, g)))))) -> Type) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

type Apply (Tuple7Sym1 a6989586621679042952 :: TyFun b (c ~> (d ~> (e ~> (f ~> (g ~> (a, b, c, d, e, f, g)))))) -> Type) (a6989586621679042953 :: b) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

type Apply (Tuple7Sym1 a6989586621679042952 :: TyFun b (c ~> (d ~> (e ~> (f ~> (g ~> (a, b, c, d, e, f, g)))))) -> Type) (a6989586621679042953 :: b) = Tuple7Sym2 a6989586621679042952 a6989586621679042953 :: TyFun c (d ~> (e ~> (f ~> (g ~> (a, b, c, d, e, f, g))))) -> Type

data Tuple7Sym2 (a6989586621679042952 :: a) (a6989586621679042953 :: b) :: (~>) c ((~>) d ((~>) e ((~>) f ((~>) g (a :: Type, b :: Type, c :: Type, d :: Type, e :: Type, f :: Type, g :: Type))))) Source #

Instances

Instances details
SingI2 (Tuple7Sym2 :: a -> b -> TyFun c (d ~> (e ~> (f ~> (g ~> (a, b, c, d, e, f, g))))) -> Type) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

Methods

liftSing2 :: forall (x :: k1) (y :: k2). Sing x -> Sing y -> Sing (Tuple7Sym2 x y)

SingI d1 => SingI1 (Tuple7Sym2 d1 :: b -> TyFun c (d2 ~> (e ~> (f ~> (g ~> (a, b, c, d2, e, f, g))))) -> Type) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

Methods

liftSing :: forall (x :: k1). Sing x -> Sing (Tuple7Sym2 d1 x)

(SingI d1, SingI d2) => SingI (Tuple7Sym2 d1 d2 :: TyFun c (d3 ~> (e ~> (f ~> (g ~> (a, b, c, d3, e, f, g))))) -> Type) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

Methods

sing :: Sing (Tuple7Sym2 d1 d2)

SuppressUnusedWarnings (Tuple7Sym2 a6989586621679042952 a6989586621679042953 :: TyFun c (d ~> (e ~> (f ~> (g ~> (a, b, c, d, e, f, g))))) -> Type) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

type Apply (Tuple7Sym2 a6989586621679042952 a6989586621679042953 :: TyFun c (d ~> (e ~> (f ~> (g ~> (a, b, c, d, e, f, g))))) -> Type) (a6989586621679042954 :: c) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

type Apply (Tuple7Sym2 a6989586621679042952 a6989586621679042953 :: TyFun c (d ~> (e ~> (f ~> (g ~> (a, b, c, d, e, f, g))))) -> Type) (a6989586621679042954 :: c) = Tuple7Sym3 a6989586621679042952 a6989586621679042953 a6989586621679042954 :: TyFun d (e ~> (f ~> (g ~> (a, b, c, d, e, f, g)))) -> Type

data Tuple7Sym3 (a6989586621679042952 :: a) (a6989586621679042953 :: b) (a6989586621679042954 :: c) :: (~>) d ((~>) e ((~>) f ((~>) g (a :: Type, b :: Type, c :: Type, d :: Type, e :: Type, f :: Type, g :: Type)))) Source #

Instances

Instances details
SingI d1 => SingI2 (Tuple7Sym3 d1 :: b -> c -> TyFun d2 (e ~> (f ~> (g ~> (a, b, c, d2, e, f, g)))) -> Type) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

Methods

liftSing2 :: forall (x :: k1) (y :: k2). Sing x -> Sing y -> Sing (Tuple7Sym3 d1 x y)

(SingI d1, SingI d2) => SingI1 (Tuple7Sym3 d1 d2 :: c -> TyFun d3 (e ~> (f ~> (g ~> (a, b, c, d3, e, f, g)))) -> Type) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

Methods

liftSing :: forall (x :: k1). Sing x -> Sing (Tuple7Sym3 d1 d2 x)

(SingI d1, SingI d2, SingI d3) => SingI (Tuple7Sym3 d1 d2 d3 :: TyFun d4 (e ~> (f ~> (g ~> (a, b, c, d4, e, f, g)))) -> Type) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

Methods

sing :: Sing (Tuple7Sym3 d1 d2 d3)

SuppressUnusedWarnings (Tuple7Sym3 a6989586621679042952 a6989586621679042953 a6989586621679042954 :: TyFun d (e ~> (f ~> (g ~> (a, b, c, d, e, f, g)))) -> Type) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

type Apply (Tuple7Sym3 a6989586621679042952 a6989586621679042953 a6989586621679042954 :: TyFun d (e ~> (f ~> (g ~> (a, b, c, d, e, f, g)))) -> Type) (a6989586621679042955 :: d) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

type Apply (Tuple7Sym3 a6989586621679042952 a6989586621679042953 a6989586621679042954 :: TyFun d (e ~> (f ~> (g ~> (a, b, c, d, e, f, g)))) -> Type) (a6989586621679042955 :: d) = Tuple7Sym4 a6989586621679042952 a6989586621679042953 a6989586621679042954 a6989586621679042955 :: TyFun e (f ~> (g ~> (a, b, c, d, e, f, g))) -> Type

data Tuple7Sym4 (a6989586621679042952 :: a) (a6989586621679042953 :: b) (a6989586621679042954 :: c) (a6989586621679042955 :: d) :: (~>) e ((~>) f ((~>) g (a :: Type, b :: Type, c :: Type, d :: Type, e :: Type, f :: Type, g :: Type))) Source #

Instances

Instances details
(SingI d1, SingI d2) => SingI2 (Tuple7Sym4 d1 d2 :: c -> d3 -> TyFun e (f ~> (g ~> (a, b, c, d3, e, f, g))) -> Type) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

Methods

liftSing2 :: forall (x :: k1) (y :: k2). Sing x -> Sing y -> Sing (Tuple7Sym4 d1 d2 x y)

(SingI d1, SingI d2, SingI d3) => SingI1 (Tuple7Sym4 d1 d2 d3 :: d4 -> TyFun e (f ~> (g ~> (a, b, c, d4, e, f, g))) -> Type) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

Methods

liftSing :: forall (x :: k1). Sing x -> Sing (Tuple7Sym4 d1 d2 d3 x)

(SingI d1, SingI d2, SingI d3, SingI d5) => SingI (Tuple7Sym4 d1 d2 d3 d5 :: TyFun e (f ~> (g ~> (a, b, c, d4, e, f, g))) -> Type) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

Methods

sing :: Sing (Tuple7Sym4 d1 d2 d3 d5)

SuppressUnusedWarnings (Tuple7Sym4 a6989586621679042952 a6989586621679042953 a6989586621679042954 a6989586621679042955 :: TyFun e (f ~> (g ~> (a, b, c, d, e, f, g))) -> Type) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

type Apply (Tuple7Sym4 a6989586621679042952 a6989586621679042953 a6989586621679042954 a6989586621679042955 :: TyFun e (f ~> (g ~> (a, b, c, d, e, f, g))) -> Type) (a6989586621679042956 :: e) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

type Apply (Tuple7Sym4 a6989586621679042952 a6989586621679042953 a6989586621679042954 a6989586621679042955 :: TyFun e (f ~> (g ~> (a, b, c, d, e, f, g))) -> Type) (a6989586621679042956 :: e) = Tuple7Sym5 a6989586621679042952 a6989586621679042953 a6989586621679042954 a6989586621679042955 a6989586621679042956 :: TyFun f (g ~> (a, b, c, d, e, f, g)) -> Type

data Tuple7Sym5 (a6989586621679042952 :: a) (a6989586621679042953 :: b) (a6989586621679042954 :: c) (a6989586621679042955 :: d) (a6989586621679042956 :: e) :: (~>) f ((~>) g (a :: Type, b :: Type, c :: Type, d :: Type, e :: Type, f :: Type, g :: Type)) Source #

Instances

Instances details
(SingI d1, SingI d2, SingI d3) => SingI2 (Tuple7Sym5 d1 d2 d3 :: d4 -> e -> TyFun f (g ~> (a, b, c, d4, e, f, g)) -> Type) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

Methods

liftSing2 :: forall (x :: k1) (y :: k2). Sing x -> Sing y -> Sing (Tuple7Sym5 d1 d2 d3 x y)

(SingI d1, SingI d2, SingI d3, SingI d5) => SingI1 (Tuple7Sym5 d1 d2 d3 d5 :: e -> TyFun f (g ~> (a, b, c, d4, e, f, g)) -> Type) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

Methods

liftSing :: forall (x :: k1). Sing x -> Sing (Tuple7Sym5 d1 d2 d3 d5 x)

(SingI d1, SingI d2, SingI d3, SingI d5, SingI d6) => SingI (Tuple7Sym5 d1 d2 d3 d5 d6 :: TyFun f (g ~> (a, b, c, d4, e, f, g)) -> Type) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

Methods

sing :: Sing (Tuple7Sym5 d1 d2 d3 d5 d6)

SuppressUnusedWarnings (Tuple7Sym5 a6989586621679042952 a6989586621679042953 a6989586621679042954 a6989586621679042955 a6989586621679042956 :: TyFun f (g ~> (a, b, c, d, e, f, g)) -> Type) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

type Apply (Tuple7Sym5 a6989586621679042952 a6989586621679042953 a6989586621679042954 a6989586621679042955 a6989586621679042956 :: TyFun f (g ~> (a, b, c, d, e, f, g)) -> Type) (a6989586621679042957 :: f) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

type Apply (Tuple7Sym5 a6989586621679042952 a6989586621679042953 a6989586621679042954 a6989586621679042955 a6989586621679042956 :: TyFun f (g ~> (a, b, c, d, e, f, g)) -> Type) (a6989586621679042957 :: f) = Tuple7Sym6 a6989586621679042952 a6989586621679042953 a6989586621679042954 a6989586621679042955 a6989586621679042956 a6989586621679042957 :: TyFun g (a, b, c, d, e, f, g) -> Type

data Tuple7Sym6 (a6989586621679042952 :: a) (a6989586621679042953 :: b) (a6989586621679042954 :: c) (a6989586621679042955 :: d) (a6989586621679042956 :: e) (a6989586621679042957 :: f) :: (~>) g (a :: Type, b :: Type, c :: Type, d :: Type, e :: Type, f :: Type, g :: Type) Source #

Instances

Instances details
(SingI d1, SingI d2, SingI d3, SingI d5) => SingI2 (Tuple7Sym6 d1 d2 d3 d5 :: e -> f -> TyFun g (a, b, c, d4, e, f, g) -> Type) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

Methods

liftSing2 :: forall (x :: k1) (y :: k2). Sing x -> Sing y -> Sing (Tuple7Sym6 d1 d2 d3 d5 x y)

(SingI d1, SingI d2, SingI d3, SingI d5, SingI d6) => SingI1 (Tuple7Sym6 d1 d2 d3 d5 d6 :: f -> TyFun g (a, b, c, d4, e, f, g) -> Type) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

Methods

liftSing :: forall (x :: k1). Sing x -> Sing (Tuple7Sym6 d1 d2 d3 d5 d6 x)

(SingI d1, SingI d2, SingI d3, SingI d5, SingI d6, SingI d7) => SingI (Tuple7Sym6 d1 d2 d3 d5 d6 d7 :: TyFun g (a, b, c, d4, e, f, g) -> Type) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

Methods

sing :: Sing (Tuple7Sym6 d1 d2 d3 d5 d6 d7)

SuppressUnusedWarnings (Tuple7Sym6 a6989586621679042952 a6989586621679042953 a6989586621679042954 a6989586621679042955 a6989586621679042956 a6989586621679042957 :: TyFun g (a, b, c, d, e, f, g) -> Type) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

type Apply (Tuple7Sym6 a6989586621679042952 a6989586621679042953 a6989586621679042954 a6989586621679042955 a6989586621679042956 a6989586621679042957 :: TyFun k1 (k2, k3, k4, k5, k6, k7, k1) -> Type) (a6989586621679042958 :: k1) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

type Apply (Tuple7Sym6 a6989586621679042952 a6989586621679042953 a6989586621679042954 a6989586621679042955 a6989586621679042956 a6989586621679042957 :: TyFun k1 (k2, k3, k4, k5, k6, k7, k1) -> Type) (a6989586621679042958 :: k1) = '(a6989586621679042952, a6989586621679042953, a6989586621679042954, a6989586621679042955, a6989586621679042956, a6989586621679042957, a6989586621679042958)

type family Tuple7Sym7 (a6989586621679042952 :: a) (a6989586621679042953 :: b) (a6989586621679042954 :: c) (a6989586621679042955 :: d) (a6989586621679042956 :: e) (a6989586621679042957 :: f) (a6989586621679042958 :: g) :: (a :: Type, b :: Type, c :: Type, d :: Type, e :: Type, f :: Type, g :: Type) where ... Source #

Equations

Tuple7Sym7 a6989586621679042952 a6989586621679042953 a6989586621679042954 a6989586621679042955 a6989586621679042956 a6989586621679042957 a6989586621679042958 = '(a6989586621679042952, a6989586621679042953, a6989586621679042954, a6989586621679042955, a6989586621679042956, a6989586621679042957, a6989586621679042958) 

data FstSym0 :: (~>) (a, b) a Source #

Instances

Instances details
SingI (FstSym0 :: TyFun (a, b) a -> Type) Source # 
Instance details

Defined in Data.Tuple.Singletons

Methods

sing :: Sing FstSym0

SuppressUnusedWarnings (FstSym0 :: TyFun (a, b) a -> Type) Source # 
Instance details

Defined in Data.Tuple.Singletons

type Apply (FstSym0 :: TyFun (a, b) a -> Type) (a6989586621679279992 :: (a, b)) Source # 
Instance details

Defined in Data.Tuple.Singletons

type Apply (FstSym0 :: TyFun (a, b) a -> Type) (a6989586621679279992 :: (a, b)) = Fst a6989586621679279992

type family FstSym1 (a6989586621679279992 :: (a, b)) :: a where ... Source #

Equations

FstSym1 a6989586621679279992 = Fst a6989586621679279992 

data SndSym0 :: (~>) (a, b) b Source #

Instances

Instances details
SingI (SndSym0 :: TyFun (a, b) b -> Type) Source # 
Instance details

Defined in Data.Tuple.Singletons

Methods

sing :: Sing SndSym0

SuppressUnusedWarnings (SndSym0 :: TyFun (a, b) b -> Type) Source # 
Instance details

Defined in Data.Tuple.Singletons

type Apply (SndSym0 :: TyFun (a, b) b -> Type) (a6989586621679279988 :: (a, b)) Source # 
Instance details

Defined in Data.Tuple.Singletons

type Apply (SndSym0 :: TyFun (a, b) b -> Type) (a6989586621679279988 :: (a, b)) = Snd a6989586621679279988

type family SndSym1 (a6989586621679279988 :: (a, b)) :: b where ... Source #

Equations

SndSym1 a6989586621679279988 = Snd a6989586621679279988 

data CurrySym0 :: (~>) ((~>) (a, b) c) ((~>) a ((~>) b c)) Source #

Instances

Instances details
SingI (CurrySym0 :: TyFun ((a, b) ~> c) (a ~> (b ~> c)) -> Type) Source # 
Instance details

Defined in Data.Tuple.Singletons

Methods

sing :: Sing CurrySym0

SuppressUnusedWarnings (CurrySym0 :: TyFun ((a, b) ~> c) (a ~> (b ~> c)) -> Type) Source # 
Instance details

Defined in Data.Tuple.Singletons

type Apply (CurrySym0 :: TyFun ((a, b) ~> c) (a ~> (b ~> c)) -> Type) (a6989586621679279980 :: (a, b) ~> c) Source # 
Instance details

Defined in Data.Tuple.Singletons

type Apply (CurrySym0 :: TyFun ((a, b) ~> c) (a ~> (b ~> c)) -> Type) (a6989586621679279980 :: (a, b) ~> c) = CurrySym1 a6989586621679279980

data CurrySym1 (a6989586621679279980 :: (~>) (a, b) c) :: (~>) a ((~>) b c) Source #

Instances

Instances details
SingI1 (CurrySym1 :: ((a, b) ~> c) -> TyFun a (b ~> c) -> Type) Source # 
Instance details

Defined in Data.Tuple.Singletons

Methods

liftSing :: forall (x :: k1). Sing x -> Sing (CurrySym1 x)

SingI d => SingI (CurrySym1 d :: TyFun a (b ~> c) -> Type) Source # 
Instance details

Defined in Data.Tuple.Singletons

Methods

sing :: Sing (CurrySym1 d)

SuppressUnusedWarnings (CurrySym1 a6989586621679279980 :: TyFun a (b ~> c) -> Type) Source # 
Instance details

Defined in Data.Tuple.Singletons

type Apply (CurrySym1 a6989586621679279980 :: TyFun a (b ~> c) -> Type) (a6989586621679279981 :: a) Source # 
Instance details

Defined in Data.Tuple.Singletons

type Apply (CurrySym1 a6989586621679279980 :: TyFun a (b ~> c) -> Type) (a6989586621679279981 :: a) = CurrySym2 a6989586621679279980 a6989586621679279981

data CurrySym2 (a6989586621679279980 :: (~>) (a, b) c) (a6989586621679279981 :: a) :: (~>) b c Source #

Instances

Instances details
SingI d => SingI1 (CurrySym2 d :: a -> TyFun b c -> Type) Source # 
Instance details

Defined in Data.Tuple.Singletons

Methods

liftSing :: forall (x :: k1). Sing x -> Sing (CurrySym2 d x)

SingI2 (CurrySym2 :: ((a, b) ~> c) -> a -> TyFun b c -> Type) Source # 
Instance details

Defined in Data.Tuple.Singletons

Methods

liftSing2 :: forall (x :: k1) (y :: k2). Sing x -> Sing y -> Sing (CurrySym2 x y)

(SingI d1, SingI d2) => SingI (CurrySym2 d1 d2 :: TyFun b c -> Type) Source # 
Instance details

Defined in Data.Tuple.Singletons

Methods

sing :: Sing (CurrySym2 d1 d2)

SuppressUnusedWarnings (CurrySym2 a6989586621679279980 a6989586621679279981 :: TyFun b c -> Type) Source # 
Instance details

Defined in Data.Tuple.Singletons

type Apply (CurrySym2 a6989586621679279980 a6989586621679279981 :: TyFun b c -> Type) (a6989586621679279982 :: b) Source # 
Instance details

Defined in Data.Tuple.Singletons

type Apply (CurrySym2 a6989586621679279980 a6989586621679279981 :: TyFun b c -> Type) (a6989586621679279982 :: b) = Curry a6989586621679279980 a6989586621679279981 a6989586621679279982

type family CurrySym3 (a6989586621679279980 :: (~>) (a, b) c) (a6989586621679279981 :: a) (a6989586621679279982 :: b) :: c where ... Source #

Equations

CurrySym3 a6989586621679279980 a6989586621679279981 a6989586621679279982 = Curry a6989586621679279980 a6989586621679279981 a6989586621679279982 

data UncurrySym0 :: (~>) ((~>) a ((~>) b c)) ((~>) (a, b) c) Source #

Instances

Instances details
SingI (UncurrySym0 :: TyFun (a ~> (b ~> c)) ((a, b) ~> c) -> Type) Source # 
Instance details

Defined in Data.Tuple.Singletons

SuppressUnusedWarnings (UncurrySym0 :: TyFun (a ~> (b ~> c)) ((a, b) ~> c) -> Type) Source # 
Instance details

Defined in Data.Tuple.Singletons

type Apply (UncurrySym0 :: TyFun (a ~> (b ~> c)) ((a, b) ~> c) -> Type) (a6989586621679279972 :: a ~> (b ~> c)) Source # 
Instance details

Defined in Data.Tuple.Singletons

type Apply (UncurrySym0 :: TyFun (a ~> (b ~> c)) ((a, b) ~> c) -> Type) (a6989586621679279972 :: a ~> (b ~> c)) = UncurrySym1 a6989586621679279972

data UncurrySym1 (a6989586621679279972 :: (~>) a ((~>) b c)) :: (~>) (a, b) c Source #

Instances

Instances details
SingI1 (UncurrySym1 :: (a ~> (b ~> c)) -> TyFun (a, b) c -> Type) Source # 
Instance details

Defined in Data.Tuple.Singletons

Methods

liftSing :: forall (x :: k1). Sing x -> Sing (UncurrySym1 x)

SingI d => SingI (UncurrySym1 d :: TyFun (a, b) c -> Type) Source # 
Instance details

Defined in Data.Tuple.Singletons

Methods

sing :: Sing (UncurrySym1 d)

SuppressUnusedWarnings (UncurrySym1 a6989586621679279972 :: TyFun (a, b) c -> Type) Source # 
Instance details

Defined in Data.Tuple.Singletons

type Apply (UncurrySym1 a6989586621679279972 :: TyFun (a, b) c -> Type) (a6989586621679279973 :: (a, b)) Source # 
Instance details

Defined in Data.Tuple.Singletons

type Apply (UncurrySym1 a6989586621679279972 :: TyFun (a, b) c -> Type) (a6989586621679279973 :: (a, b)) = Uncurry a6989586621679279972 a6989586621679279973

type family UncurrySym2 (a6989586621679279972 :: (~>) a ((~>) b c)) (a6989586621679279973 :: (a, b)) :: c where ... Source #

Equations

UncurrySym2 a6989586621679279972 a6989586621679279973 = Uncurry a6989586621679279972 a6989586621679279973 

data SwapSym0 :: (~>) (a, b) (b, a) Source #

Instances

Instances details
SingI (SwapSym0 :: TyFun (a, b) (b, a) -> Type) Source # 
Instance details

Defined in Data.Tuple.Singletons

Methods

sing :: Sing SwapSym0

SuppressUnusedWarnings (SwapSym0 :: TyFun (a, b) (b, a) -> Type) Source # 
Instance details

Defined in Data.Tuple.Singletons

type Apply (SwapSym0 :: TyFun (a, b) (b, a) -> Type) (a6989586621679279966 :: (a, b)) Source # 
Instance details

Defined in Data.Tuple.Singletons

type Apply (SwapSym0 :: TyFun (a, b) (b, a) -> Type) (a6989586621679279966 :: (a, b)) = Swap a6989586621679279966

type family SwapSym1 (a6989586621679279966 :: (a, b)) :: (b, a) where ... Source #

Equations

SwapSym1 a6989586621679279966 = Swap a6989586621679279966