singletons-base-3.1.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
LanguageGHC2021

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 (a6989586621679040855 :: a) :: (~>) b (a :: Type, b :: Type)
  • type family Tuple2Sym2 (a6989586621679040855 :: a) (a6989586621679040856 :: b) :: (a :: Type, b :: Type) where ...
  • data Tuple3Sym0 :: (~>) a ((~>) b ((~>) c (a :: Type, b :: Type, c :: Type)))
  • data Tuple3Sym1 (a6989586621679040886 :: a) :: (~>) b ((~>) c (a :: Type, b :: Type, c :: Type))
  • data Tuple3Sym2 (a6989586621679040886 :: a) (a6989586621679040887 :: b) :: (~>) c (a :: Type, b :: Type, c :: Type)
  • type family Tuple3Sym3 (a6989586621679040886 :: a) (a6989586621679040887 :: b) (a6989586621679040888 :: c) :: (a :: Type, b :: Type, c :: Type) where ...
  • data Tuple4Sym0 :: (~>) a ((~>) b ((~>) c ((~>) d (a :: Type, b :: Type, c :: Type, d :: Type))))
  • data Tuple4Sym1 (a6989586621679040935 :: a) :: (~>) b ((~>) c ((~>) d (a :: Type, b :: Type, c :: Type, d :: Type)))
  • data Tuple4Sym2 (a6989586621679040935 :: a) (a6989586621679040936 :: b) :: (~>) c ((~>) d (a :: Type, b :: Type, c :: Type, d :: Type))
  • data Tuple4Sym3 (a6989586621679040935 :: a) (a6989586621679040936 :: b) (a6989586621679040937 :: c) :: (~>) d (a :: Type, b :: Type, c :: Type, d :: Type)
  • type family Tuple4Sym4 (a6989586621679040935 :: a) (a6989586621679040936 :: b) (a6989586621679040937 :: c) (a6989586621679040938 :: 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 (a6989586621679041004 :: a) :: (~>) b ((~>) c ((~>) d ((~>) e (a :: Type, b :: Type, c :: Type, d :: Type, e :: Type))))
  • data Tuple5Sym2 (a6989586621679041004 :: a) (a6989586621679041005 :: b) :: (~>) c ((~>) d ((~>) e (a :: Type, b :: Type, c :: Type, d :: Type, e :: Type)))
  • data Tuple5Sym3 (a6989586621679041004 :: a) (a6989586621679041005 :: b) (a6989586621679041006 :: c) :: (~>) d ((~>) e (a :: Type, b :: Type, c :: Type, d :: Type, e :: Type))
  • data Tuple5Sym4 (a6989586621679041004 :: a) (a6989586621679041005 :: b) (a6989586621679041006 :: c) (a6989586621679041007 :: d) :: (~>) e (a :: Type, b :: Type, c :: Type, d :: Type, e :: Type)
  • type family Tuple5Sym5 (a6989586621679041004 :: a) (a6989586621679041005 :: b) (a6989586621679041006 :: c) (a6989586621679041007 :: d) (a6989586621679041008 :: 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 (a6989586621679041095 :: a) :: (~>) b ((~>) c ((~>) d ((~>) e ((~>) f (a :: Type, b :: Type, c :: Type, d :: Type, e :: Type, f :: Type)))))
  • data Tuple6Sym2 (a6989586621679041095 :: a) (a6989586621679041096 :: b) :: (~>) c ((~>) d ((~>) e ((~>) f (a :: Type, b :: Type, c :: Type, d :: Type, e :: Type, f :: Type))))
  • data Tuple6Sym3 (a6989586621679041095 :: a) (a6989586621679041096 :: b) (a6989586621679041097 :: c) :: (~>) d ((~>) e ((~>) f (a :: Type, b :: Type, c :: Type, d :: Type, e :: Type, f :: Type)))
  • data Tuple6Sym4 (a6989586621679041095 :: a) (a6989586621679041096 :: b) (a6989586621679041097 :: c) (a6989586621679041098 :: d) :: (~>) e ((~>) f (a :: Type, b :: Type, c :: Type, d :: Type, e :: Type, f :: Type))
  • data Tuple6Sym5 (a6989586621679041095 :: a) (a6989586621679041096 :: b) (a6989586621679041097 :: c) (a6989586621679041098 :: d) (a6989586621679041099 :: e) :: (~>) f (a :: Type, b :: Type, c :: Type, d :: Type, e :: Type, f :: Type)
  • type family Tuple6Sym6 (a6989586621679041095 :: a) (a6989586621679041096 :: b) (a6989586621679041097 :: c) (a6989586621679041098 :: d) (a6989586621679041099 :: e) (a6989586621679041100 :: 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 (a6989586621679041210 :: a) :: (~>) b ((~>) c ((~>) d ((~>) e ((~>) f ((~>) g (a :: Type, b :: Type, c :: Type, d :: Type, e :: Type, f :: Type, g :: Type))))))
  • data Tuple7Sym2 (a6989586621679041210 :: a) (a6989586621679041211 :: b) :: (~>) c ((~>) d ((~>) e ((~>) f ((~>) g (a :: Type, b :: Type, c :: Type, d :: Type, e :: Type, f :: Type, g :: Type)))))
  • data Tuple7Sym3 (a6989586621679041210 :: a) (a6989586621679041211 :: b) (a6989586621679041212 :: c) :: (~>) d ((~>) e ((~>) f ((~>) g (a :: Type, b :: Type, c :: Type, d :: Type, e :: Type, f :: Type, g :: Type))))
  • data Tuple7Sym4 (a6989586621679041210 :: a) (a6989586621679041211 :: b) (a6989586621679041212 :: c) (a6989586621679041213 :: d) :: (~>) e ((~>) f ((~>) g (a :: Type, b :: Type, c :: Type, d :: Type, e :: Type, f :: Type, g :: Type)))
  • data Tuple7Sym5 (a6989586621679041210 :: a) (a6989586621679041211 :: b) (a6989586621679041212 :: c) (a6989586621679041213 :: d) (a6989586621679041214 :: e) :: (~>) f ((~>) g (a :: Type, b :: Type, c :: Type, d :: Type, e :: Type, f :: Type, g :: Type))
  • data Tuple7Sym6 (a6989586621679041210 :: a) (a6989586621679041211 :: b) (a6989586621679041212 :: c) (a6989586621679041213 :: d) (a6989586621679041214 :: e) (a6989586621679041215 :: f) :: (~>) g (a :: Type, b :: Type, c :: Type, d :: Type, e :: Type, f :: Type, g :: Type)
  • type family Tuple7Sym7 (a6989586621679041210 :: a) (a6989586621679041211 :: b) (a6989586621679041212 :: c) (a6989586621679041213 :: d) (a6989586621679041214 :: e) (a6989586621679041215 :: f) (a6989586621679041216 :: g) :: (a :: Type, b :: Type, c :: Type, d :: Type, e :: Type, f :: Type, g :: Type) where ...
  • data FstSym0 :: (~>) (a, b) a
  • type family FstSym1 (a6989586621679270958 :: (a, b)) :: a where ...
  • data SndSym0 :: (~>) (a, b) b
  • type family SndSym1 (a6989586621679270954 :: (a, b)) :: b where ...
  • data CurrySym0 :: (~>) ((~>) (a, b) c) ((~>) a ((~>) b c))
  • data CurrySym1 (a6989586621679270946 :: (~>) (a, b) c) :: (~>) a ((~>) b c)
  • data CurrySym2 (a6989586621679270946 :: (~>) (a, b) c) (a6989586621679270947 :: a) :: (~>) b c
  • type family CurrySym3 (a6989586621679270946 :: (~>) (a, b) c) (a6989586621679270947 :: a) (a6989586621679270948 :: b) :: c where ...
  • data UncurrySym0 :: (~>) ((~>) a ((~>) b c)) ((~>) (a, b) c)
  • data UncurrySym1 (a6989586621679270938 :: (~>) a ((~>) b c)) :: (~>) (a, b) c
  • type family UncurrySym2 (a6989586621679270938 :: (~>) a ((~>) b c)) (a6989586621679270939 :: (a, b)) :: c where ...
  • data SwapSym0 :: (~>) (a, b) (b, a)
  • type family SwapSym1 (a6989586621679270932 :: (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) (a6989586621679040855 :: a) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

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

data Tuple2Sym1 (a6989586621679040855 :: 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 a6989586621679040855 :: TyFun b (a, b) -> Type) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

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

Defined in Data.Singletons.Base.Instances

type Apply (Tuple2Sym1 a6989586621679040855 :: TyFun k2 (k1, k2) -> Type) (a6989586621679040856 :: k2) = '(a6989586621679040855, a6989586621679040856)

type family Tuple2Sym2 (a6989586621679040855 :: a) (a6989586621679040856 :: b) :: (a :: Type, b :: Type) where ... Source #

Equations

Tuple2Sym2 a6989586621679040855 a6989586621679040856 = '(a6989586621679040855, a6989586621679040856) 

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) (a6989586621679040886 :: a) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

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

data Tuple3Sym1 (a6989586621679040886 :: 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 a6989586621679040886 :: TyFun b (c ~> (a, b, c)) -> Type) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

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

Defined in Data.Singletons.Base.Instances

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

data Tuple3Sym2 (a6989586621679040886 :: a) (a6989586621679040887 :: 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 a6989586621679040886 a6989586621679040887 :: TyFun c (a, b, c) -> Type) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

type Apply (Tuple3Sym2 a6989586621679040886 a6989586621679040887 :: TyFun k3 (k1, k2, k3) -> Type) (a6989586621679040888 :: k3) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

type Apply (Tuple3Sym2 a6989586621679040886 a6989586621679040887 :: TyFun k3 (k1, k2, k3) -> Type) (a6989586621679040888 :: k3) = '(a6989586621679040886, a6989586621679040887, a6989586621679040888)

type family Tuple3Sym3 (a6989586621679040886 :: a) (a6989586621679040887 :: b) (a6989586621679040888 :: c) :: (a :: Type, b :: Type, c :: Type) where ... Source #

Equations

Tuple3Sym3 a6989586621679040886 a6989586621679040887 a6989586621679040888 = '(a6989586621679040886, a6989586621679040887, a6989586621679040888) 

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) (a6989586621679040935 :: a) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

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

data Tuple4Sym1 (a6989586621679040935 :: 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 a6989586621679040935 :: TyFun b (c ~> (d ~> (a, b, c, d))) -> Type) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

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

Defined in Data.Singletons.Base.Instances

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

data Tuple4Sym2 (a6989586621679040935 :: a) (a6989586621679040936 :: 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 a6989586621679040935 a6989586621679040936 :: TyFun c (d ~> (a, b, c, d)) -> Type) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

type Apply (Tuple4Sym2 a6989586621679040935 a6989586621679040936 :: TyFun c (d ~> (a, b, c, d)) -> Type) (a6989586621679040937 :: c) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

type Apply (Tuple4Sym2 a6989586621679040935 a6989586621679040936 :: TyFun c (d ~> (a, b, c, d)) -> Type) (a6989586621679040937 :: c) = Tuple4Sym3 a6989586621679040935 a6989586621679040936 a6989586621679040937 :: TyFun d (a, b, c, d) -> Type

data Tuple4Sym3 (a6989586621679040935 :: a) (a6989586621679040936 :: b) (a6989586621679040937 :: 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 a6989586621679040935 a6989586621679040936 a6989586621679040937 :: TyFun d (a, b, c, d) -> Type) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

type Apply (Tuple4Sym3 a6989586621679040935 a6989586621679040936 a6989586621679040937 :: TyFun k4 (k1, k2, k3, k4) -> Type) (a6989586621679040938 :: k4) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

type Apply (Tuple4Sym3 a6989586621679040935 a6989586621679040936 a6989586621679040937 :: TyFun k4 (k1, k2, k3, k4) -> Type) (a6989586621679040938 :: k4) = '(a6989586621679040935, a6989586621679040936, a6989586621679040937, a6989586621679040938)

type family Tuple4Sym4 (a6989586621679040935 :: a) (a6989586621679040936 :: b) (a6989586621679040937 :: c) (a6989586621679040938 :: d) :: (a :: Type, b :: Type, c :: Type, d :: Type) where ... Source #

Equations

Tuple4Sym4 a6989586621679040935 a6989586621679040936 a6989586621679040937 a6989586621679040938 = '(a6989586621679040935, a6989586621679040936, a6989586621679040937, a6989586621679040938) 

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) (a6989586621679041004 :: 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) (a6989586621679041004 :: a) = Tuple5Sym1 a6989586621679041004 :: TyFun b (c ~> (d ~> (e ~> (a, b, c, d, e)))) -> Type

data Tuple5Sym1 (a6989586621679041004 :: 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 a6989586621679041004 :: TyFun b (c ~> (d ~> (e ~> (a, b, c, d, e)))) -> Type) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

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

Defined in Data.Singletons.Base.Instances

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

data Tuple5Sym2 (a6989586621679041004 :: a) (a6989586621679041005 :: 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 a6989586621679041004 a6989586621679041005 :: TyFun c (d ~> (e ~> (a, b, c, d, e))) -> Type) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

type Apply (Tuple5Sym2 a6989586621679041004 a6989586621679041005 :: TyFun c (d ~> (e ~> (a, b, c, d, e))) -> Type) (a6989586621679041006 :: c) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

type Apply (Tuple5Sym2 a6989586621679041004 a6989586621679041005 :: TyFun c (d ~> (e ~> (a, b, c, d, e))) -> Type) (a6989586621679041006 :: c) = Tuple5Sym3 a6989586621679041004 a6989586621679041005 a6989586621679041006 :: TyFun d (e ~> (a, b, c, d, e)) -> Type

data Tuple5Sym3 (a6989586621679041004 :: a) (a6989586621679041005 :: b) (a6989586621679041006 :: 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 a6989586621679041004 a6989586621679041005 a6989586621679041006 :: TyFun d (e ~> (a, b, c, d, e)) -> Type) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

type Apply (Tuple5Sym3 a6989586621679041004 a6989586621679041005 a6989586621679041006 :: TyFun d (e ~> (a, b, c, d, e)) -> Type) (a6989586621679041007 :: d) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

type Apply (Tuple5Sym3 a6989586621679041004 a6989586621679041005 a6989586621679041006 :: TyFun d (e ~> (a, b, c, d, e)) -> Type) (a6989586621679041007 :: d) = Tuple5Sym4 a6989586621679041004 a6989586621679041005 a6989586621679041006 a6989586621679041007 :: TyFun e (a, b, c, d, e) -> Type

data Tuple5Sym4 (a6989586621679041004 :: a) (a6989586621679041005 :: b) (a6989586621679041006 :: c) (a6989586621679041007 :: 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 a6989586621679041004 a6989586621679041005 a6989586621679041006 a6989586621679041007 :: TyFun e (a, b, c, d, e) -> Type) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

type Apply (Tuple5Sym4 a6989586621679041004 a6989586621679041005 a6989586621679041006 a6989586621679041007 :: TyFun k5 (k1, k2, k3, k4, k5) -> Type) (a6989586621679041008 :: k5) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

type Apply (Tuple5Sym4 a6989586621679041004 a6989586621679041005 a6989586621679041006 a6989586621679041007 :: TyFun k5 (k1, k2, k3, k4, k5) -> Type) (a6989586621679041008 :: k5) = '(a6989586621679041004, a6989586621679041005, a6989586621679041006, a6989586621679041007, a6989586621679041008)

type family Tuple5Sym5 (a6989586621679041004 :: a) (a6989586621679041005 :: b) (a6989586621679041006 :: c) (a6989586621679041007 :: d) (a6989586621679041008 :: e) :: (a :: Type, b :: Type, c :: Type, d :: Type, e :: Type) where ... Source #

Equations

Tuple5Sym5 a6989586621679041004 a6989586621679041005 a6989586621679041006 a6989586621679041007 a6989586621679041008 = '(a6989586621679041004, a6989586621679041005, a6989586621679041006, a6989586621679041007, a6989586621679041008) 

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) (a6989586621679041095 :: 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) (a6989586621679041095 :: a) = Tuple6Sym1 a6989586621679041095 :: TyFun b (c ~> (d ~> (e ~> (f ~> (a, b, c, d, e, f))))) -> Type

data Tuple6Sym1 (a6989586621679041095 :: 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 a6989586621679041095 :: 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 a6989586621679041095 :: TyFun b (c ~> (d ~> (e ~> (f ~> (a, b, c, d, e, f))))) -> Type) (a6989586621679041096 :: b) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

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

data Tuple6Sym2 (a6989586621679041095 :: a) (a6989586621679041096 :: 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 a6989586621679041095 a6989586621679041096 :: TyFun c (d ~> (e ~> (f ~> (a, b, c, d, e, f)))) -> Type) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

type Apply (Tuple6Sym2 a6989586621679041095 a6989586621679041096 :: TyFun c (d ~> (e ~> (f ~> (a, b, c, d, e, f)))) -> Type) (a6989586621679041097 :: c) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

type Apply (Tuple6Sym2 a6989586621679041095 a6989586621679041096 :: TyFun c (d ~> (e ~> (f ~> (a, b, c, d, e, f)))) -> Type) (a6989586621679041097 :: c) = Tuple6Sym3 a6989586621679041095 a6989586621679041096 a6989586621679041097 :: TyFun d (e ~> (f ~> (a, b, c, d, e, f))) -> Type

data Tuple6Sym3 (a6989586621679041095 :: a) (a6989586621679041096 :: b) (a6989586621679041097 :: 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 a6989586621679041095 a6989586621679041096 a6989586621679041097 :: TyFun d (e ~> (f ~> (a, b, c, d, e, f))) -> Type) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

type Apply (Tuple6Sym3 a6989586621679041095 a6989586621679041096 a6989586621679041097 :: TyFun d (e ~> (f ~> (a, b, c, d, e, f))) -> Type) (a6989586621679041098 :: d) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

type Apply (Tuple6Sym3 a6989586621679041095 a6989586621679041096 a6989586621679041097 :: TyFun d (e ~> (f ~> (a, b, c, d, e, f))) -> Type) (a6989586621679041098 :: d) = Tuple6Sym4 a6989586621679041095 a6989586621679041096 a6989586621679041097 a6989586621679041098 :: TyFun e (f ~> (a, b, c, d, e, f)) -> Type

data Tuple6Sym4 (a6989586621679041095 :: a) (a6989586621679041096 :: b) (a6989586621679041097 :: c) (a6989586621679041098 :: 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 a6989586621679041095 a6989586621679041096 a6989586621679041097 a6989586621679041098 :: TyFun e (f ~> (a, b, c, d, e, f)) -> Type) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

type Apply (Tuple6Sym4 a6989586621679041095 a6989586621679041096 a6989586621679041097 a6989586621679041098 :: TyFun e (f ~> (a, b, c, d, e, f)) -> Type) (a6989586621679041099 :: e) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

type Apply (Tuple6Sym4 a6989586621679041095 a6989586621679041096 a6989586621679041097 a6989586621679041098 :: TyFun e (f ~> (a, b, c, d, e, f)) -> Type) (a6989586621679041099 :: e) = Tuple6Sym5 a6989586621679041095 a6989586621679041096 a6989586621679041097 a6989586621679041098 a6989586621679041099 :: TyFun f (a, b, c, d, e, f) -> Type

data Tuple6Sym5 (a6989586621679041095 :: a) (a6989586621679041096 :: b) (a6989586621679041097 :: c) (a6989586621679041098 :: d) (a6989586621679041099 :: 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 a6989586621679041095 a6989586621679041096 a6989586621679041097 a6989586621679041098 a6989586621679041099 :: TyFun f (a, b, c, d, e, f) -> Type) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

type Apply (Tuple6Sym5 a6989586621679041095 a6989586621679041096 a6989586621679041097 a6989586621679041098 a6989586621679041099 :: TyFun k6 (k1, k2, k3, k4, k5, k6) -> Type) (a6989586621679041100 :: k6) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

type Apply (Tuple6Sym5 a6989586621679041095 a6989586621679041096 a6989586621679041097 a6989586621679041098 a6989586621679041099 :: TyFun k6 (k1, k2, k3, k4, k5, k6) -> Type) (a6989586621679041100 :: k6) = '(a6989586621679041095, a6989586621679041096, a6989586621679041097, a6989586621679041098, a6989586621679041099, a6989586621679041100)

type family Tuple6Sym6 (a6989586621679041095 :: a) (a6989586621679041096 :: b) (a6989586621679041097 :: c) (a6989586621679041098 :: d) (a6989586621679041099 :: e) (a6989586621679041100 :: f) :: (a :: Type, b :: Type, c :: Type, d :: Type, e :: Type, f :: Type) where ... Source #

Equations

Tuple6Sym6 a6989586621679041095 a6989586621679041096 a6989586621679041097 a6989586621679041098 a6989586621679041099 a6989586621679041100 = '(a6989586621679041095, a6989586621679041096, a6989586621679041097, a6989586621679041098, a6989586621679041099, a6989586621679041100) 

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) (a6989586621679041210 :: 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) (a6989586621679041210 :: a) = Tuple7Sym1 a6989586621679041210 :: TyFun b (c ~> (d ~> (e ~> (f ~> (g ~> (a, b, c, d, e, f, g)))))) -> Type

data Tuple7Sym1 (a6989586621679041210 :: 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 a6989586621679041210 :: 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 a6989586621679041210 :: TyFun b (c ~> (d ~> (e ~> (f ~> (g ~> (a, b, c, d, e, f, g)))))) -> Type) (a6989586621679041211 :: b) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

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

data Tuple7Sym2 (a6989586621679041210 :: a) (a6989586621679041211 :: 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 a6989586621679041210 a6989586621679041211 :: 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 a6989586621679041210 a6989586621679041211 :: TyFun c (d ~> (e ~> (f ~> (g ~> (a, b, c, d, e, f, g))))) -> Type) (a6989586621679041212 :: c) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

type Apply (Tuple7Sym2 a6989586621679041210 a6989586621679041211 :: TyFun c (d ~> (e ~> (f ~> (g ~> (a, b, c, d, e, f, g))))) -> Type) (a6989586621679041212 :: c) = Tuple7Sym3 a6989586621679041210 a6989586621679041211 a6989586621679041212 :: TyFun d (e ~> (f ~> (g ~> (a, b, c, d, e, f, g)))) -> Type

data Tuple7Sym3 (a6989586621679041210 :: a) (a6989586621679041211 :: b) (a6989586621679041212 :: 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 a6989586621679041210 a6989586621679041211 a6989586621679041212 :: 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 a6989586621679041210 a6989586621679041211 a6989586621679041212 :: TyFun d (e ~> (f ~> (g ~> (a, b, c, d, e, f, g)))) -> Type) (a6989586621679041213 :: d) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

type Apply (Tuple7Sym3 a6989586621679041210 a6989586621679041211 a6989586621679041212 :: TyFun d (e ~> (f ~> (g ~> (a, b, c, d, e, f, g)))) -> Type) (a6989586621679041213 :: d) = Tuple7Sym4 a6989586621679041210 a6989586621679041211 a6989586621679041212 a6989586621679041213 :: TyFun e (f ~> (g ~> (a, b, c, d, e, f, g))) -> Type

data Tuple7Sym4 (a6989586621679041210 :: a) (a6989586621679041211 :: b) (a6989586621679041212 :: c) (a6989586621679041213 :: 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 a6989586621679041210 a6989586621679041211 a6989586621679041212 a6989586621679041213 :: TyFun e (f ~> (g ~> (a, b, c, d, e, f, g))) -> Type) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

type Apply (Tuple7Sym4 a6989586621679041210 a6989586621679041211 a6989586621679041212 a6989586621679041213 :: TyFun e (f ~> (g ~> (a, b, c, d, e, f, g))) -> Type) (a6989586621679041214 :: e) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

type Apply (Tuple7Sym4 a6989586621679041210 a6989586621679041211 a6989586621679041212 a6989586621679041213 :: TyFun e (f ~> (g ~> (a, b, c, d, e, f, g))) -> Type) (a6989586621679041214 :: e) = Tuple7Sym5 a6989586621679041210 a6989586621679041211 a6989586621679041212 a6989586621679041213 a6989586621679041214 :: TyFun f (g ~> (a, b, c, d, e, f, g)) -> Type

data Tuple7Sym5 (a6989586621679041210 :: a) (a6989586621679041211 :: b) (a6989586621679041212 :: c) (a6989586621679041213 :: d) (a6989586621679041214 :: 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 a6989586621679041210 a6989586621679041211 a6989586621679041212 a6989586621679041213 a6989586621679041214 :: TyFun f (g ~> (a, b, c, d, e, f, g)) -> Type) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

type Apply (Tuple7Sym5 a6989586621679041210 a6989586621679041211 a6989586621679041212 a6989586621679041213 a6989586621679041214 :: TyFun f (g ~> (a, b, c, d, e, f, g)) -> Type) (a6989586621679041215 :: f) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

type Apply (Tuple7Sym5 a6989586621679041210 a6989586621679041211 a6989586621679041212 a6989586621679041213 a6989586621679041214 :: TyFun f (g ~> (a, b, c, d, e, f, g)) -> Type) (a6989586621679041215 :: f) = Tuple7Sym6 a6989586621679041210 a6989586621679041211 a6989586621679041212 a6989586621679041213 a6989586621679041214 a6989586621679041215 :: TyFun g (a, b, c, d, e, f, g) -> Type

data Tuple7Sym6 (a6989586621679041210 :: a) (a6989586621679041211 :: b) (a6989586621679041212 :: c) (a6989586621679041213 :: d) (a6989586621679041214 :: e) (a6989586621679041215 :: 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 a6989586621679041210 a6989586621679041211 a6989586621679041212 a6989586621679041213 a6989586621679041214 a6989586621679041215 :: TyFun g (a, b, c, d, e, f, g) -> Type) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

type Apply (Tuple7Sym6 a6989586621679041210 a6989586621679041211 a6989586621679041212 a6989586621679041213 a6989586621679041214 a6989586621679041215 :: TyFun k7 (k1, k2, k3, k4, k5, k6, k7) -> Type) (a6989586621679041216 :: k7) Source # 
Instance details

Defined in Data.Singletons.Base.Instances

type Apply (Tuple7Sym6 a6989586621679041210 a6989586621679041211 a6989586621679041212 a6989586621679041213 a6989586621679041214 a6989586621679041215 :: TyFun k7 (k1, k2, k3, k4, k5, k6, k7) -> Type) (a6989586621679041216 :: k7) = '(a6989586621679041210, a6989586621679041211, a6989586621679041212, a6989586621679041213, a6989586621679041214, a6989586621679041215, a6989586621679041216)

type family Tuple7Sym7 (a6989586621679041210 :: a) (a6989586621679041211 :: b) (a6989586621679041212 :: c) (a6989586621679041213 :: d) (a6989586621679041214 :: e) (a6989586621679041215 :: f) (a6989586621679041216 :: g) :: (a :: Type, b :: Type, c :: Type, d :: Type, e :: Type, f :: Type, g :: Type) where ... Source #

Equations

Tuple7Sym7 a6989586621679041210 a6989586621679041211 a6989586621679041212 a6989586621679041213 a6989586621679041214 a6989586621679041215 a6989586621679041216 = '(a6989586621679041210, a6989586621679041211, a6989586621679041212, a6989586621679041213, a6989586621679041214, a6989586621679041215, a6989586621679041216) 

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) (a6989586621679270958 :: (a, b)) Source # 
Instance details

Defined in Data.Tuple.Singletons

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

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

Equations

FstSym1 a6989586621679270958 = Fst a6989586621679270958 

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) (a6989586621679270954 :: (a, b)) Source # 
Instance details

Defined in Data.Tuple.Singletons

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

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

Equations

SndSym1 a6989586621679270954 = Snd a6989586621679270954 

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) (a6989586621679270946 :: (a, b) ~> c) Source # 
Instance details

Defined in Data.Tuple.Singletons

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

data CurrySym1 (a6989586621679270946 :: (~>) (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 a6989586621679270946 :: TyFun a (b ~> c) -> Type) Source # 
Instance details

Defined in Data.Tuple.Singletons

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

Defined in Data.Tuple.Singletons

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

data CurrySym2 (a6989586621679270946 :: (~>) (a, b) c) (a6989586621679270947 :: 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 a6989586621679270946 a6989586621679270947 :: TyFun b c -> Type) Source # 
Instance details

Defined in Data.Tuple.Singletons

type Apply (CurrySym2 a6989586621679270946 a6989586621679270947 :: TyFun b c -> Type) (a6989586621679270948 :: b) Source # 
Instance details

Defined in Data.Tuple.Singletons

type Apply (CurrySym2 a6989586621679270946 a6989586621679270947 :: TyFun b c -> Type) (a6989586621679270948 :: b) = Curry a6989586621679270946 a6989586621679270947 a6989586621679270948

type family CurrySym3 (a6989586621679270946 :: (~>) (a, b) c) (a6989586621679270947 :: a) (a6989586621679270948 :: b) :: c where ... Source #

Equations

CurrySym3 a6989586621679270946 a6989586621679270947 a6989586621679270948 = Curry a6989586621679270946 a6989586621679270947 a6989586621679270948 

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) (a6989586621679270938 :: a ~> (b ~> c)) Source # 
Instance details

Defined in Data.Tuple.Singletons

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

data UncurrySym1 (a6989586621679270938 :: (~>) 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 a6989586621679270938 :: TyFun (a, b) c -> Type) Source # 
Instance details

Defined in Data.Tuple.Singletons

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

Defined in Data.Tuple.Singletons

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

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

Equations

UncurrySym2 a6989586621679270938 a6989586621679270939 = Uncurry a6989586621679270938 a6989586621679270939 

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) (a6989586621679270932 :: (a, b)) Source # 
Instance details

Defined in Data.Tuple.Singletons

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

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

Equations

SwapSym1 a6989586621679270932 = Swap a6989586621679270932