singletons-2.4.1: A framework for generating singleton types

Copyright(C) 2014 Richard Eisenberg
LicenseBSD-style (see LICENSE)
MaintainerRichard Eisenberg (rae@cs.brynmawr.edu)
Stabilityexperimental
Portabilitynon-portable
Safe HaskellNone
LanguageHaskell2010

Data.Singletons.TypeLits

Contents

Description

Defines and exports singletons useful for the Nat and Symbol kinds.

Synopsis

Documentation

data Nat #

(Kind) This is the kind of type-level natural numbers.

Instances
Eq Nat # 
Instance details

Defined in Data.Singletons.TypeLits

Methods

(==) :: Nat -> Nat -> Bool #

(/=) :: Nat -> Nat -> Bool #

Num Nat #

This bogus Num instance is helpful for people who want to define functions over Nats that will only be used at the type level or as singletons. A correct SNum instance for Nat singletons exists.

Instance details

Defined in Data.Singletons.TypeLits

Methods

(+) :: Nat -> Nat -> Nat #

(-) :: Nat -> Nat -> Nat #

(*) :: Nat -> Nat -> Nat #

negate :: Nat -> Nat #

abs :: Nat -> Nat #

signum :: Nat -> Nat #

fromInteger :: Integer -> Nat #

Ord Nat # 
Instance details

Defined in Data.Singletons.TypeLits

Methods

compare :: Nat -> Nat -> Ordering #

(<) :: Nat -> Nat -> Bool #

(<=) :: Nat -> Nat -> Bool #

(>) :: Nat -> Nat -> Bool #

(>=) :: Nat -> Nat -> Bool #

max :: Nat -> Nat -> Nat #

min :: Nat -> Nat -> Nat #

SingKind Nat # 
Instance details

Defined in Data.Singletons.TypeLits.Internal

Associated Types

type Demote Nat = (r :: *) #

SDecide Nat # 
Instance details

Defined in Data.Singletons.TypeLits.Internal

Methods

(%~) :: Sing a -> Sing b -> Decision (a :~: b) #

PEq Nat # 
Instance details

Defined in Data.Singletons.TypeLits.Internal

Associated Types

type x == y :: Bool #

type x /= y :: Bool #

SEq Nat # 
Instance details

Defined in Data.Singletons.TypeLits.Internal

Methods

(%==) :: Sing a -> Sing b -> Sing (a == b) #

(%/=) :: Sing a -> Sing b -> Sing (a /= b) #

SOrd Nat # 
Instance details

Defined in Data.Singletons.TypeLits.Internal

Methods

sCompare :: Sing t -> Sing t -> Sing (Apply (Apply CompareSym0 t) t) #

(%<) :: Sing t -> Sing t -> Sing (Apply (Apply (<@#@$) t) t) #

(%<=) :: Sing t -> Sing t -> Sing (Apply (Apply (<=@#@$) t) t) #

(%>) :: Sing t -> Sing t -> Sing (Apply (Apply (>@#@$) t) t) #

(%>=) :: Sing t -> Sing t -> Sing (Apply (Apply (>=@#@$) t) t) #

sMax :: Sing t -> Sing t -> Sing (Apply (Apply MaxSym0 t) t) #

sMin :: Sing t -> Sing t -> Sing (Apply (Apply MinSym0 t) t) #

POrd Nat # 
Instance details

Defined in Data.Singletons.TypeLits.Internal

Associated Types

type Compare arg arg :: Ordering #

type arg < arg :: Bool #

type arg <= arg :: Bool #

type arg > arg :: Bool #

type arg >= arg :: Bool #

type Max arg arg :: a #

type Min arg arg :: a #

ShowSing Nat # 
Instance details

Defined in Data.Singletons.ShowSing

Methods

showsSingPrec :: Int -> Sing a -> ShowS #

SNum Nat # 
Instance details

Defined in Data.Singletons.Prelude.Num

Methods

(%+) :: Sing t -> Sing t -> Sing (Apply (Apply (+@#@$) t) t) #

(%-) :: Sing t -> Sing t -> Sing (Apply (Apply (-@#@$) t) t) #

(%*) :: Sing t -> Sing t -> Sing (Apply (Apply (*@#@$) t) t) #

sNegate :: Sing t -> Sing (Apply NegateSym0 t) #

sAbs :: Sing t -> Sing (Apply AbsSym0 t) #

sSignum :: Sing t -> Sing (Apply SignumSym0 t) #

sFromInteger :: Sing t -> Sing (Apply FromIntegerSym0 t) #

PNum Nat # 
Instance details

Defined in Data.Singletons.Prelude.Num

Associated Types

type arg + arg :: a #

type arg - arg :: a #

type arg * arg :: a #

type Negate arg :: a #

type Abs arg :: a #

type Signum arg :: a #

type FromInteger arg :: a #

SShow Nat # 
Instance details

Defined in Data.Singletons.Prelude.Show

Methods

sShowsPrec :: Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply ShowsPrecSym0 t) t) t) #

sShow_ :: Sing t -> Sing (Apply Show_Sym0 t) #

sShowList :: Sing t -> Sing t -> Sing (Apply (Apply ShowListSym0 t) t) #

PShow Nat #

Note that this instance is really, really slow, since it uses an inefficient, inductive definition of division behind the hood.

Instance details

Defined in Data.Singletons.Prelude.Show

Associated Types

type ShowsPrec arg arg arg :: Symbol #

type Show_ arg :: Symbol #

type ShowList arg arg :: Symbol #

SEnum Nat # 
Instance details

Defined in Data.Singletons.Prelude.Enum

PEnum Nat # 
Instance details

Defined in Data.Singletons.Prelude.Enum

Associated Types

type Succ arg :: a #

type Pred arg :: a #

type ToEnum arg :: a #

type FromEnum arg :: Nat #

type EnumFromTo arg arg :: [a] #

type EnumFromThenTo arg arg arg :: [a] #

KnownNat n => SingI (n :: Nat) # 
Instance details

Defined in Data.Singletons.TypeLits.Internal

Methods

sing :: Sing n #

Show (SNat n) # 
Instance details

Defined in Data.Singletons.ShowSing

Methods

showsPrec :: Int -> SNat n -> ShowS #

show :: SNat n -> String #

showList :: [SNat n] -> ShowS #

SuppressUnusedWarnings (^@#@$$) # 
Instance details

Defined in Data.Singletons.TypeLits.Internal

SuppressUnusedWarnings DivSym1 # 
Instance details

Defined in Data.Singletons.TypeLits

SuppressUnusedWarnings ModSym1 # 
Instance details

Defined in Data.Singletons.TypeLits

SuppressUnusedWarnings QuotSym1 # 
Instance details

Defined in Data.Singletons.TypeLits

SuppressUnusedWarnings RemSym1 # 
Instance details

Defined in Data.Singletons.TypeLits

SuppressUnusedWarnings QuotRemSym1 # 
Instance details

Defined in Data.Singletons.TypeLits

SuppressUnusedWarnings DivModSym1 # 
Instance details

Defined in Data.Singletons.TypeLits

SuppressUnusedWarnings (^@#@$) # 
Instance details

Defined in Data.Singletons.TypeLits.Internal

SuppressUnusedWarnings DivSym0 # 
Instance details

Defined in Data.Singletons.TypeLits

SuppressUnusedWarnings ModSym0 # 
Instance details

Defined in Data.Singletons.TypeLits

SuppressUnusedWarnings QuotSym0 # 
Instance details

Defined in Data.Singletons.TypeLits

SuppressUnusedWarnings RemSym0 # 
Instance details

Defined in Data.Singletons.TypeLits

SuppressUnusedWarnings QuotRemSym0 # 
Instance details

Defined in Data.Singletons.TypeLits

SuppressUnusedWarnings DivModSym0 # 
Instance details

Defined in Data.Singletons.TypeLits

SuppressUnusedWarnings KnownNatSym0 # 
Instance details

Defined in Data.Singletons.TypeLits

SuppressUnusedWarnings Log2Sym0 # 
Instance details

Defined in Data.Singletons.TypeLits

SuppressUnusedWarnings (FindIndicesSym1 :: (TyFun a6989586621679459217 Bool -> Type) -> TyFun [a6989586621679459217] [Nat] -> *) # 
Instance details

Defined in Data.Singletons.Prelude.List

SuppressUnusedWarnings (FindIndexSym1 :: (TyFun a6989586621679459218 Bool -> Type) -> TyFun [a6989586621679459218] (Maybe Nat) -> *) # 
Instance details

Defined in Data.Singletons.Prelude.List

SuppressUnusedWarnings ((!!@#@$$) :: [a6989586621679459191] -> TyFun Nat a6989586621679459191 -> *) # 
Instance details

Defined in Data.Singletons.Prelude.List

SuppressUnusedWarnings (ShowsPrecSym2 :: Nat -> a6989586621679694510 -> TyFun Symbol Symbol -> *) # 
Instance details

Defined in Data.Singletons.Prelude.Show

SuppressUnusedWarnings (DropSym1 :: Nat -> TyFun [a6989586621679459208] [a6989586621679459208] -> *) # 
Instance details

Defined in Data.Singletons.Prelude.List

SuppressUnusedWarnings (TakeSym1 :: Nat -> TyFun [a6989586621679459209] [a6989586621679459209] -> *) # 
Instance details

Defined in Data.Singletons.Prelude.List

SuppressUnusedWarnings (SplitAtSym1 :: Nat -> TyFun [a6989586621679459207] ([a6989586621679459207], [a6989586621679459207]) -> *) # 
Instance details

Defined in Data.Singletons.Prelude.List

SuppressUnusedWarnings (ReplicateSym1 :: Nat -> TyFun a6989586621679459193 [a6989586621679459193] -> *) # 
Instance details

Defined in Data.Singletons.Prelude.List

SuppressUnusedWarnings (ShowsPrecSym1 :: Nat -> TyFun a6989586621679694510 (TyFun Symbol Symbol -> Type) -> *) # 
Instance details

Defined in Data.Singletons.Prelude.Show

SuppressUnusedWarnings (TakeSym1 :: Nat -> TyFun (NonEmpty a6989586621679792770) [a6989586621679792770] -> *) # 
Instance details

Defined in Data.Singletons.Prelude.List.NonEmpty

SuppressUnusedWarnings (DropSym1 :: Nat -> TyFun (NonEmpty a6989586621679792769) [a6989586621679792769] -> *) # 
Instance details

Defined in Data.Singletons.Prelude.List.NonEmpty

SuppressUnusedWarnings (SplitAtSym1 :: Nat -> TyFun (NonEmpty a6989586621679792768) ([a6989586621679792768], [a6989586621679792768]) -> *) # 
Instance details

Defined in Data.Singletons.Prelude.List.NonEmpty

SuppressUnusedWarnings (ElemIndicesSym1 :: a6989586621679459219 -> TyFun [a6989586621679459219] [Nat] -> *) # 
Instance details

Defined in Data.Singletons.Prelude.List

SuppressUnusedWarnings (ElemIndexSym1 :: a6989586621679459220 -> TyFun [a6989586621679459220] (Maybe Nat) -> *) # 
Instance details

Defined in Data.Singletons.Prelude.List

SuppressUnusedWarnings ((!!@#@$$) :: NonEmpty a6989586621679792748 -> TyFun Nat a6989586621679792748 -> *) # 
Instance details

Defined in Data.Singletons.Prelude.List.NonEmpty

SuppressUnusedWarnings (FindIndicesSym0 :: TyFun (TyFun a6989586621679459217 Bool -> Type) (TyFun [a6989586621679459217] [Nat] -> Type) -> *) # 
Instance details

Defined in Data.Singletons.Prelude.List

SuppressUnusedWarnings (FindIndexSym0 :: TyFun (TyFun a6989586621679459218 Bool -> Type) (TyFun [a6989586621679459218] (Maybe Nat) -> Type) -> *) # 
Instance details

Defined in Data.Singletons.Prelude.List

SuppressUnusedWarnings ((!!@#@$) :: TyFun [a6989586621679459191] (TyFun Nat a6989586621679459191 -> Type) -> *) # 
Instance details

Defined in Data.Singletons.Prelude.List

SuppressUnusedWarnings (LengthSym0 :: TyFun [a6989586621679459194] Nat -> *) # 
Instance details

Defined in Data.Singletons.Prelude.List

SuppressUnusedWarnings (DropSym0 :: TyFun Nat (TyFun [a6989586621679459208] [a6989586621679459208] -> Type) -> *) # 
Instance details

Defined in Data.Singletons.Prelude.List

SuppressUnusedWarnings (TakeSym0 :: TyFun Nat (TyFun [a6989586621679459209] [a6989586621679459209] -> Type) -> *) # 
Instance details

Defined in Data.Singletons.Prelude.List

SuppressUnusedWarnings (SplitAtSym0 :: TyFun Nat (TyFun [a6989586621679459207] ([a6989586621679459207], [a6989586621679459207]) -> Type) -> *) # 
Instance details

Defined in Data.Singletons.Prelude.List

SuppressUnusedWarnings (ReplicateSym0 :: TyFun Nat (TyFun a6989586621679459193 [a6989586621679459193] -> Type) -> *) # 
Instance details

Defined in Data.Singletons.Prelude.List

SuppressUnusedWarnings (ShowsPrecSym0 :: TyFun Nat (TyFun a6989586621679694510 (TyFun Symbol Symbol -> Type) -> Type) -> *) # 
Instance details

Defined in Data.Singletons.Prelude.Show

SuppressUnusedWarnings (TakeSym0 :: TyFun Nat (TyFun (NonEmpty a6989586621679792770) [a6989586621679792770] -> Type) -> *) # 
Instance details

Defined in Data.Singletons.Prelude.List.NonEmpty

SuppressUnusedWarnings (DropSym0 :: TyFun Nat (TyFun (NonEmpty a6989586621679792769) [a6989586621679792769] -> Type) -> *) # 
Instance details

Defined in Data.Singletons.Prelude.List.NonEmpty

SuppressUnusedWarnings (SplitAtSym0 :: TyFun Nat (TyFun (NonEmpty a6989586621679792768) ([a6989586621679792768], [a6989586621679792768]) -> Type) -> *) # 
Instance details

Defined in Data.Singletons.Prelude.List.NonEmpty

SuppressUnusedWarnings (FromIntegerSym0 :: TyFun Nat a6989586621679428868 -> *) # 
Instance details

Defined in Data.Singletons.Prelude.Num

SuppressUnusedWarnings (ToEnumSym0 :: TyFun Nat a6989586621679869588 -> *) # 
Instance details

Defined in Data.Singletons.Prelude.Enum

SuppressUnusedWarnings (ElemIndicesSym0 :: TyFun a6989586621679459219 (TyFun [a6989586621679459219] [Nat] -> Type) -> *) # 
Instance details

Defined in Data.Singletons.Prelude.List

SuppressUnusedWarnings (ElemIndexSym0 :: TyFun a6989586621679459220 (TyFun [a6989586621679459220] (Maybe Nat) -> Type) -> *) # 
Instance details

Defined in Data.Singletons.Prelude.List

SuppressUnusedWarnings (FromEnumSym0 :: TyFun a6989586621679869588 Nat -> *) # 
Instance details

Defined in Data.Singletons.Prelude.Enum

SuppressUnusedWarnings ((!!@#@$) :: TyFun (NonEmpty a6989586621679792748) (TyFun Nat a6989586621679792748 -> Type) -> *) # 
Instance details

Defined in Data.Singletons.Prelude.List.NonEmpty

SuppressUnusedWarnings (LengthSym0 :: TyFun (NonEmpty a6989586621679792801) Nat -> *) # 
Instance details

Defined in Data.Singletons.Prelude.List.NonEmpty

type Demote Nat # 
Instance details

Defined in Data.Singletons.TypeLits.Internal

data Sing (n :: Nat) # 
Instance details

Defined in Data.Singletons.TypeLits.Internal

data Sing (n :: Nat) where
type Negate (a :: Nat) # 
Instance details

Defined in Data.Singletons.Prelude.Num

type Negate (a :: Nat) = (Error "Cannot negate a natural number" :: Nat)
type Abs (a :: Nat) # 
Instance details

Defined in Data.Singletons.Prelude.Num

type Abs (a :: Nat) = a
type Signum (a :: Nat) # 
Instance details

Defined in Data.Singletons.Prelude.Num

type Signum (a :: Nat)
type FromInteger a # 
Instance details

Defined in Data.Singletons.Prelude.Num

type FromInteger a = a
type Show_ (arg :: Nat) # 
Instance details

Defined in Data.Singletons.Prelude.Show

type Show_ (arg :: Nat)
type Succ (a :: Nat) # 
Instance details

Defined in Data.Singletons.Prelude.Enum

type Succ (a :: Nat)
type Pred (a :: Nat) # 
Instance details

Defined in Data.Singletons.Prelude.Enum

type Pred (a :: Nat)
type ToEnum a # 
Instance details

Defined in Data.Singletons.Prelude.Enum

type ToEnum a
type FromEnum (a :: Nat) # 
Instance details

Defined in Data.Singletons.Prelude.Enum

type FromEnum (a :: Nat)
type (a :: Nat) == (b :: Nat) # 
Instance details

Defined in Data.Singletons.TypeLits.Internal

type (a :: Nat) == (b :: Nat) = a == b
type (x :: Nat) /= (y :: Nat) # 
Instance details

Defined in Data.Singletons.TypeLits.Internal

type (x :: Nat) /= (y :: Nat) = Not (x == y)
type Compare (a :: Nat) (b :: Nat) # 
Instance details

Defined in Data.Singletons.TypeLits.Internal

type Compare (a :: Nat) (b :: Nat) = CmpNat a b
type (arg1 :: Nat) < (arg2 :: Nat) # 
Instance details

Defined in Data.Singletons.TypeLits.Internal

type (arg1 :: Nat) < (arg2 :: Nat)
type (arg1 :: Nat) <= (arg2 :: Nat) # 
Instance details

Defined in Data.Singletons.TypeLits.Internal

type (arg1 :: Nat) <= (arg2 :: Nat)
type (arg1 :: Nat) > (arg2 :: Nat) # 
Instance details

Defined in Data.Singletons.TypeLits.Internal

type (arg1 :: Nat) > (arg2 :: Nat)
type (arg1 :: Nat) >= (arg2 :: Nat) # 
Instance details

Defined in Data.Singletons.TypeLits.Internal

type (arg1 :: Nat) >= (arg2 :: Nat)
type Max (arg1 :: Nat) (arg2 :: Nat) # 
Instance details

Defined in Data.Singletons.TypeLits.Internal

type Max (arg1 :: Nat) (arg2 :: Nat)
type Min (arg1 :: Nat) (arg2 :: Nat) # 
Instance details

Defined in Data.Singletons.TypeLits.Internal

type Min (arg1 :: Nat) (arg2 :: Nat)
type (a :: Nat) + (b :: Nat) # 
Instance details

Defined in Data.Singletons.Prelude.Num

type (a :: Nat) + (b :: Nat) = a + b
type (a :: Nat) - (b :: Nat) # 
Instance details

Defined in Data.Singletons.Prelude.Num

type (a :: Nat) - (b :: Nat) = a - b
type (a :: Nat) * (b :: Nat) # 
Instance details

Defined in Data.Singletons.Prelude.Num

type (a :: Nat) * (b :: Nat) = a * b
type ShowList (arg1 :: [Nat]) arg2 # 
Instance details

Defined in Data.Singletons.Prelude.Show

type ShowList (arg1 :: [Nat]) arg2
type EnumFromTo (a1 :: Nat) (a2 :: Nat) # 
Instance details

Defined in Data.Singletons.Prelude.Enum

type EnumFromTo (a1 :: Nat) (a2 :: Nat)
type Apply KnownNatSym0 (l :: Nat) # 
Instance details

Defined in Data.Singletons.TypeLits

type Apply KnownNatSym0 (l :: Nat) = KnownNat l
type Apply Log2Sym0 (l :: Nat) # 
Instance details

Defined in Data.Singletons.TypeLits

type Apply Log2Sym0 (l :: Nat) = Log2 l
type ShowsPrec _ (n :: Nat) x # 
Instance details

Defined in Data.Singletons.Prelude.Show

type ShowsPrec _ (n :: Nat) x
type EnumFromThenTo (a1 :: Nat) (a2 :: Nat) (a3 :: Nat) # 
Instance details

Defined in Data.Singletons.Prelude.Enum

type EnumFromThenTo (a1 :: Nat) (a2 :: Nat) (a3 :: Nat)
type Apply ((^@#@$$) l1 :: TyFun Nat Nat -> *) (l2 :: Nat) # 
Instance details

Defined in Data.Singletons.TypeLits.Internal

type Apply ((^@#@$$) l1 :: TyFun Nat Nat -> *) (l2 :: Nat) = l1 ^ l2
type Apply (DivSym1 l1 :: TyFun Nat Nat -> *) (l2 :: Nat) # 
Instance details

Defined in Data.Singletons.TypeLits

type Apply (DivSym1 l1 :: TyFun Nat Nat -> *) (l2 :: Nat) = Div l1 l2
type Apply (ModSym1 l1 :: TyFun Nat Nat -> *) (l2 :: Nat) # 
Instance details

Defined in Data.Singletons.TypeLits

type Apply (ModSym1 l1 :: TyFun Nat Nat -> *) (l2 :: Nat) = Mod l1 l2
type Apply (QuotSym1 l1 :: TyFun Nat Nat -> *) (l2 :: Nat) # 
Instance details

Defined in Data.Singletons.TypeLits

type Apply (QuotSym1 l1 :: TyFun Nat Nat -> *) (l2 :: Nat) = Quot l1 l2
type Apply (RemSym1 l1 :: TyFun Nat Nat -> *) (l2 :: Nat) # 
Instance details

Defined in Data.Singletons.TypeLits

type Apply (RemSym1 l1 :: TyFun Nat Nat -> *) (l2 :: Nat) = Rem l1 l2
type Apply (FromIntegerSym0 :: TyFun Nat k2 -> *) (l :: Nat) # 
Instance details

Defined in Data.Singletons.Prelude.Num

type Apply (FromIntegerSym0 :: TyFun Nat k2 -> *) (l :: Nat) = (FromInteger l :: k2)
type Apply (ToEnumSym0 :: TyFun Nat k2 -> *) (l :: Nat) # 
Instance details

Defined in Data.Singletons.Prelude.Enum

type Apply (ToEnumSym0 :: TyFun Nat k2 -> *) (l :: Nat) = (ToEnum l :: k2)
type Apply (FromEnumSym0 :: TyFun a Nat -> *) (l :: a) # 
Instance details

Defined in Data.Singletons.Prelude.Enum

type Apply (FromEnumSym0 :: TyFun a Nat -> *) (l :: a) = FromEnum l
type Apply ((!!@#@$$) l1 :: TyFun Nat a -> *) (l2 :: Nat) # 
Instance details

Defined in Data.Singletons.Prelude.List

type Apply ((!!@#@$$) l1 :: TyFun Nat a -> *) (l2 :: Nat) = l1 !! l2
type Apply ((!!@#@$$) l1 :: TyFun Nat a -> *) (l2 :: Nat) # 
Instance details

Defined in Data.Singletons.Prelude.List.NonEmpty

type Apply ((!!@#@$$) l1 :: TyFun Nat a -> *) (l2 :: Nat) = l1 !! l2
type Apply (^@#@$) (l :: Nat) # 
Instance details

Defined in Data.Singletons.TypeLits.Internal

type Apply (^@#@$) (l :: Nat) = (^@#@$$) l
type Apply DivSym0 (l :: Nat) # 
Instance details

Defined in Data.Singletons.TypeLits

type Apply DivSym0 (l :: Nat) = DivSym1 l
type Apply ModSym0 (l :: Nat) # 
Instance details

Defined in Data.Singletons.TypeLits

type Apply ModSym0 (l :: Nat) = ModSym1 l
type Apply QuotSym0 (l :: Nat) # 
Instance details

Defined in Data.Singletons.TypeLits

type Apply QuotSym0 (l :: Nat) = QuotSym1 l
type Apply RemSym0 (l :: Nat) # 
Instance details

Defined in Data.Singletons.TypeLits

type Apply RemSym0 (l :: Nat) = RemSym1 l
type Apply QuotRemSym0 (l :: Nat) # 
Instance details

Defined in Data.Singletons.TypeLits

type Apply DivModSym0 (l :: Nat) # 
Instance details

Defined in Data.Singletons.TypeLits

type Apply DivModSym0 (l :: Nat) = DivModSym1 l
type Apply (DropSym0 :: TyFun Nat (TyFun [a6989586621679459208] [a6989586621679459208] -> Type) -> *) (l :: Nat) # 
Instance details

Defined in Data.Singletons.Prelude.List

type Apply (DropSym0 :: TyFun Nat (TyFun [a6989586621679459208] [a6989586621679459208] -> Type) -> *) (l :: Nat) = (DropSym1 l :: TyFun [a6989586621679459208] [a6989586621679459208] -> *)
type Apply (TakeSym0 :: TyFun Nat (TyFun [a6989586621679459209] [a6989586621679459209] -> Type) -> *) (l :: Nat) # 
Instance details

Defined in Data.Singletons.Prelude.List

type Apply (TakeSym0 :: TyFun Nat (TyFun [a6989586621679459209] [a6989586621679459209] -> Type) -> *) (l :: Nat) = (TakeSym1 l :: TyFun [a6989586621679459209] [a6989586621679459209] -> *)
type Apply (SplitAtSym0 :: TyFun Nat (TyFun [a6989586621679459207] ([a6989586621679459207], [a6989586621679459207]) -> Type) -> *) (l :: Nat) # 
Instance details

Defined in Data.Singletons.Prelude.List

type Apply (SplitAtSym0 :: TyFun Nat (TyFun [a6989586621679459207] ([a6989586621679459207], [a6989586621679459207]) -> Type) -> *) (l :: Nat) = (SplitAtSym1 l :: TyFun [a6989586621679459207] ([a6989586621679459207], [a6989586621679459207]) -> *)
type Apply (ReplicateSym0 :: TyFun Nat (TyFun a6989586621679459193 [a6989586621679459193] -> Type) -> *) (l :: Nat) # 
Instance details

Defined in Data.Singletons.Prelude.List

type Apply (ReplicateSym0 :: TyFun Nat (TyFun a6989586621679459193 [a6989586621679459193] -> Type) -> *) (l :: Nat) = (ReplicateSym1 l :: TyFun a6989586621679459193 [a6989586621679459193] -> *)
type Apply (ShowsPrecSym0 :: TyFun Nat (TyFun a6989586621679694510 (TyFun Symbol Symbol -> Type) -> Type) -> *) (l :: Nat) # 
Instance details

Defined in Data.Singletons.Prelude.Show

type Apply (ShowsPrecSym0 :: TyFun Nat (TyFun a6989586621679694510 (TyFun Symbol Symbol -> Type) -> Type) -> *) (l :: Nat) = (ShowsPrecSym1 l :: TyFun a6989586621679694510 (TyFun Symbol Symbol -> Type) -> *)
type Apply (TakeSym0 :: TyFun Nat (TyFun (NonEmpty a6989586621679792770) [a6989586621679792770] -> Type) -> *) (l :: Nat) # 
Instance details

Defined in Data.Singletons.Prelude.List.NonEmpty

type Apply (TakeSym0 :: TyFun Nat (TyFun (NonEmpty a6989586621679792770) [a6989586621679792770] -> Type) -> *) (l :: Nat) = (TakeSym1 l :: TyFun (NonEmpty a6989586621679792770) [a6989586621679792770] -> *)
type Apply (DropSym0 :: TyFun Nat (TyFun (NonEmpty a6989586621679792769) [a6989586621679792769] -> Type) -> *) (l :: Nat) # 
Instance details

Defined in Data.Singletons.Prelude.List.NonEmpty

type Apply (DropSym0 :: TyFun Nat (TyFun (NonEmpty a6989586621679792769) [a6989586621679792769] -> Type) -> *) (l :: Nat) = (DropSym1 l :: TyFun (NonEmpty a6989586621679792769) [a6989586621679792769] -> *)
type Apply (SplitAtSym0 :: TyFun Nat (TyFun (NonEmpty a6989586621679792768) ([a6989586621679792768], [a6989586621679792768]) -> Type) -> *) (l :: Nat) # 
Instance details

Defined in Data.Singletons.Prelude.List.NonEmpty

type Apply (SplitAtSym0 :: TyFun Nat (TyFun (NonEmpty a6989586621679792768) ([a6989586621679792768], [a6989586621679792768]) -> Type) -> *) (l :: Nat) = (SplitAtSym1 l :: TyFun (NonEmpty a6989586621679792768) ([a6989586621679792768], [a6989586621679792768]) -> *)
type Apply (QuotRemSym1 l1 :: TyFun Nat (Nat, Nat) -> *) (l2 :: Nat) # 
Instance details

Defined in Data.Singletons.TypeLits

type Apply (QuotRemSym1 l1 :: TyFun Nat (Nat, Nat) -> *) (l2 :: Nat) = QuotRem l1 l2
type Apply (DivModSym1 l1 :: TyFun Nat (Nat, Nat) -> *) (l2 :: Nat) # 
Instance details

Defined in Data.Singletons.TypeLits

type Apply (DivModSym1 l1 :: TyFun Nat (Nat, Nat) -> *) (l2 :: Nat) = DivMod l1 l2
type Apply (ElemIndicesSym0 :: TyFun a6989586621679459219 (TyFun [a6989586621679459219] [Nat] -> Type) -> *) (l :: a6989586621679459219) # 
Instance details

Defined in Data.Singletons.Prelude.List

type Apply (ElemIndicesSym0 :: TyFun a6989586621679459219 (TyFun [a6989586621679459219] [Nat] -> Type) -> *) (l :: a6989586621679459219) = ElemIndicesSym1 l
type Apply (ElemIndexSym0 :: TyFun a6989586621679459220 (TyFun [a6989586621679459220] (Maybe Nat) -> Type) -> *) (l :: a6989586621679459220) # 
Instance details

Defined in Data.Singletons.Prelude.List

type Apply (ElemIndexSym0 :: TyFun a6989586621679459220 (TyFun [a6989586621679459220] (Maybe Nat) -> Type) -> *) (l :: a6989586621679459220) = ElemIndexSym1 l
type Apply (LengthSym0 :: TyFun [a] Nat -> *) (l :: [a]) # 
Instance details

Defined in Data.Singletons.Prelude.List

type Apply (LengthSym0 :: TyFun [a] Nat -> *) (l :: [a]) = Length l
type Apply (LengthSym0 :: TyFun (NonEmpty a) Nat -> *) (l :: NonEmpty a) # 
Instance details

Defined in Data.Singletons.Prelude.List.NonEmpty

type Apply (LengthSym0 :: TyFun (NonEmpty a) Nat -> *) (l :: NonEmpty a) = Length l
type Apply (FindIndicesSym1 l1 :: TyFun [a] [Nat] -> *) (l2 :: [a]) # 
Instance details

Defined in Data.Singletons.Prelude.List

type Apply (FindIndicesSym1 l1 :: TyFun [a] [Nat] -> *) (l2 :: [a]) = FindIndices l1 l2
type Apply (ElemIndicesSym1 l1 :: TyFun [a] [Nat] -> *) (l2 :: [a]) # 
Instance details

Defined in Data.Singletons.Prelude.List

type Apply (ElemIndicesSym1 l1 :: TyFun [a] [Nat] -> *) (l2 :: [a]) = ElemIndices l1 l2
type Apply (FindIndexSym1 l1 :: TyFun [a] (Maybe Nat) -> *) (l2 :: [a]) # 
Instance details

Defined in Data.Singletons.Prelude.List

type Apply (FindIndexSym1 l1 :: TyFun [a] (Maybe Nat) -> *) (l2 :: [a]) = FindIndex l1 l2
type Apply (ElemIndexSym1 l1 :: TyFun [a] (Maybe Nat) -> *) (l2 :: [a]) # 
Instance details

Defined in Data.Singletons.Prelude.List

type Apply (ElemIndexSym1 l1 :: TyFun [a] (Maybe Nat) -> *) (l2 :: [a]) = ElemIndex l1 l2
type Apply ((!!@#@$) :: TyFun [a6989586621679459191] (TyFun Nat a6989586621679459191 -> Type) -> *) (l :: [a6989586621679459191]) # 
Instance details

Defined in Data.Singletons.Prelude.List

type Apply ((!!@#@$) :: TyFun [a6989586621679459191] (TyFun Nat a6989586621679459191 -> Type) -> *) (l :: [a6989586621679459191]) = (!!@#@$$) l
type Apply ((!!@#@$) :: TyFun (NonEmpty a6989586621679792748) (TyFun Nat a6989586621679792748 -> Type) -> *) (l :: NonEmpty a6989586621679792748) # 
Instance details

Defined in Data.Singletons.Prelude.List.NonEmpty

type Apply ((!!@#@$) :: TyFun (NonEmpty a6989586621679792748) (TyFun Nat a6989586621679792748 -> Type) -> *) (l :: NonEmpty a6989586621679792748) = (!!@#@$$) l
type Apply (FindIndicesSym0 :: TyFun (TyFun a6989586621679459217 Bool -> Type) (TyFun [a6989586621679459217] [Nat] -> Type) -> *) (l :: TyFun a6989586621679459217 Bool -> Type) # 
Instance details

Defined in Data.Singletons.Prelude.List

type Apply (FindIndicesSym0 :: TyFun (TyFun a6989586621679459217 Bool -> Type) (TyFun [a6989586621679459217] [Nat] -> Type) -> *) (l :: TyFun a6989586621679459217 Bool -> Type) = FindIndicesSym1 l
type Apply (FindIndexSym0 :: TyFun (TyFun a6989586621679459218 Bool -> Type) (TyFun [a6989586621679459218] (Maybe Nat) -> Type) -> *) (l :: TyFun a6989586621679459218 Bool -> Type) # 
Instance details

Defined in Data.Singletons.Prelude.List

type Apply (FindIndexSym0 :: TyFun (TyFun a6989586621679459218 Bool -> Type) (TyFun [a6989586621679459218] (Maybe Nat) -> Type) -> *) (l :: TyFun a6989586621679459218 Bool -> Type) = FindIndexSym1 l

data Symbol #

(Kind) This is the kind of type-level symbols. Declared here because class IP needs it

Instances
Eq Symbol #

This bogus instance is helpful for people who want to define functions over Symbols that will only be used at the type level or as singletons.

Instance details

Defined in Data.Singletons.TypeLits

Methods

(==) :: Symbol -> Symbol -> Bool #

(/=) :: Symbol -> Symbol -> Bool #

Ord Symbol # 
Instance details

Defined in Data.Singletons.TypeLits

IsString Symbol # 
Instance details

Defined in Data.Singletons.TypeLits

Methods

fromString :: String -> Symbol #

SingKind Symbol

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Associated Types

type DemoteRep Symbol :: *

Methods

fromSing :: Sing a -> DemoteRep Symbol

SingKind Symbol # 
Instance details

Defined in Data.Singletons.TypeLits.Internal

Associated Types

type Demote Symbol = (r :: *) #

SDecide Symbol # 
Instance details

Defined in Data.Singletons.TypeLits.Internal

Methods

(%~) :: Sing a -> Sing b -> Decision (a :~: b) #

PEq Symbol # 
Instance details

Defined in Data.Singletons.TypeLits.Internal

Associated Types

type x == y :: Bool #

type x /= y :: Bool #

SEq Symbol # 
Instance details

Defined in Data.Singletons.TypeLits.Internal

Methods

(%==) :: Sing a -> Sing b -> Sing (a == b) #

(%/=) :: Sing a -> Sing b -> Sing (a /= b) #

SOrd Symbol # 
Instance details

Defined in Data.Singletons.TypeLits.Internal

Methods

sCompare :: Sing t -> Sing t -> Sing (Apply (Apply CompareSym0 t) t) #

(%<) :: Sing t -> Sing t -> Sing (Apply (Apply (<@#@$) t) t) #

(%<=) :: Sing t -> Sing t -> Sing (Apply (Apply (<=@#@$) t) t) #

(%>) :: Sing t -> Sing t -> Sing (Apply (Apply (>@#@$) t) t) #

(%>=) :: Sing t -> Sing t -> Sing (Apply (Apply (>=@#@$) t) t) #

sMax :: Sing t -> Sing t -> Sing (Apply (Apply MaxSym0 t) t) #

sMin :: Sing t -> Sing t -> Sing (Apply (Apply MinSym0 t) t) #

POrd Symbol # 
Instance details

Defined in Data.Singletons.TypeLits.Internal

Associated Types

type Compare arg arg :: Ordering #

type arg < arg :: Bool #

type arg <= arg :: Bool #

type arg > arg :: Bool #

type arg >= arg :: Bool #

type Max arg arg :: a #

type Min arg arg :: a #

ShowSing Symbol # 
Instance details

Defined in Data.Singletons.ShowSing

Methods

showsSingPrec :: Int -> Sing a -> ShowS #

SIsString Symbol # 
Instance details

Defined in Data.Singletons.Prelude.IsString

PIsString Symbol # 
Instance details

Defined in Data.Singletons.Prelude.IsString

Associated Types

type FromString arg :: a #

SShow Symbol # 
Instance details

Defined in Data.Singletons.Prelude.Show

Methods

sShowsPrec :: Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply ShowsPrecSym0 t) t) t) #

sShow_ :: Sing t -> Sing (Apply Show_Sym0 t) #

sShowList :: Sing t -> Sing t -> Sing (Apply (Apply ShowListSym0 t) t) #

PShow Symbol # 
Instance details

Defined in Data.Singletons.Prelude.Show

Associated Types

type ShowsPrec arg arg arg :: Symbol #

type Show_ arg :: Symbol #

type ShowList arg arg :: Symbol #

KnownSymbol a => SingI (a :: Symbol)

Since: base-4.9.0.0

Instance details

Defined in GHC.Generics

Methods

sing :: Sing a

KnownSymbol n => SingI (n :: Symbol) # 
Instance details

Defined in Data.Singletons.TypeLits.Internal

Methods

sing :: Sing n #

Show (SSymbol s) # 
Instance details

Defined in Data.Singletons.ShowSing

Methods

showsPrec :: Int -> SSymbol s -> ShowS #

show :: SSymbol s -> String #

showList :: [SSymbol s] -> ShowS #

SuppressUnusedWarnings ShowParenSym2 # 
Instance details

Defined in Data.Singletons.Prelude.Show

SuppressUnusedWarnings ShowParenSym1 # 
Instance details

Defined in Data.Singletons.Prelude.Show

SuppressUnusedWarnings (<>@#@$$) # 
Instance details

Defined in Data.Singletons.TypeLits.Internal

SuppressUnusedWarnings ShowCharSym1 # 
Instance details

Defined in Data.Singletons.Prelude.Show

SuppressUnusedWarnings ShowStringSym1 # 
Instance details

Defined in Data.Singletons.Prelude.Show

SuppressUnusedWarnings ShowParenSym0 # 
Instance details

Defined in Data.Singletons.Prelude.Show

SuppressUnusedWarnings UnlinesSym0 # 
Instance details

Defined in Data.Singletons.Prelude.List

SuppressUnusedWarnings UnwordsSym0 # 
Instance details

Defined in Data.Singletons.Prelude.List

SuppressUnusedWarnings ShowCharSym0 # 
Instance details

Defined in Data.Singletons.Prelude.Show

SuppressUnusedWarnings ShowStringSym0 # 
Instance details

Defined in Data.Singletons.Prelude.Show

SuppressUnusedWarnings (<>@#@$) # 
Instance details

Defined in Data.Singletons.TypeLits.Internal

SuppressUnusedWarnings KnownSymbolSym0 # 
Instance details

Defined in Data.Singletons.TypeLits

SuppressUnusedWarnings ShowCommaSpaceSym0 # 
Instance details

Defined in Data.Singletons.Prelude.Show

SuppressUnusedWarnings ShowSpaceSym0 # 
Instance details

Defined in Data.Singletons.Prelude.Show

SuppressUnusedWarnings (ShowListWithSym2 :: (TyFun a6989586621679694494 (TyFun Symbol Symbol -> Type) -> Type) -> [a6989586621679694494] -> TyFun Symbol Symbol -> *) # 
Instance details

Defined in Data.Singletons.Prelude.Show

SuppressUnusedWarnings (ShowListWithSym1 :: (TyFun a6989586621679694494 (TyFun Symbol Symbol -> Type) -> Type) -> TyFun [a6989586621679694494] (TyFun Symbol Symbol -> Type) -> *) # 
Instance details

Defined in Data.Singletons.Prelude.Show

SuppressUnusedWarnings (ShowListSym1 :: [a6989586621679694510] -> TyFun Symbol Symbol -> *) # 
Instance details

Defined in Data.Singletons.Prelude.Show

SuppressUnusedWarnings (ShowsPrecSym2 :: Nat -> a6989586621679694510 -> TyFun Symbol Symbol -> *) # 
Instance details

Defined in Data.Singletons.Prelude.Show

SuppressUnusedWarnings (ShowsPrecSym1 :: Nat -> TyFun a6989586621679694510 (TyFun Symbol Symbol -> Type) -> *) # 
Instance details

Defined in Data.Singletons.Prelude.Show

SuppressUnusedWarnings (ShowsSym1 :: a6989586621679694495 -> TyFun Symbol Symbol -> *) # 
Instance details

Defined in Data.Singletons.Prelude.Show

SuppressUnusedWarnings (ShowListWithSym0 :: TyFun (TyFun a6989586621679694494 (TyFun Symbol Symbol -> Type) -> Type) (TyFun [a6989586621679694494] (TyFun Symbol Symbol -> Type) -> Type) -> *) # 
Instance details

Defined in Data.Singletons.Prelude.Show

SuppressUnusedWarnings (ShowListSym0 :: TyFun [a6989586621679694510] (TyFun Symbol Symbol -> Type) -> *) # 
Instance details

Defined in Data.Singletons.Prelude.Show

SuppressUnusedWarnings (ShowsPrecSym0 :: TyFun Nat (TyFun a6989586621679694510 (TyFun Symbol Symbol -> Type) -> Type) -> *) # 
Instance details

Defined in Data.Singletons.Prelude.Show

SuppressUnusedWarnings (FromStringSym0 :: TyFun Symbol a6989586621679428198 -> *) # 
Instance details

Defined in Data.Singletons.Prelude.IsString

SuppressUnusedWarnings (Show_Sym0 :: TyFun a6989586621679694510 Symbol -> *) # 
Instance details

Defined in Data.Singletons.Prelude.Show

SuppressUnusedWarnings (ShowsSym0 :: TyFun a6989586621679694495 (TyFun Symbol Symbol -> Type) -> *) # 
Instance details

Defined in Data.Singletons.Prelude.Show

data Sing (s :: Symbol) 
Instance details

Defined in GHC.Generics

data Sing (s :: Symbol) where
type DemoteRep Symbol 
Instance details

Defined in GHC.Generics

type DemoteRep Symbol = String
type Demote Symbol # 
Instance details

Defined in Data.Singletons.TypeLits.Internal

data Sing (n :: Symbol) # 
Instance details

Defined in Data.Singletons.TypeLits.Internal

data Sing (n :: Symbol) where
type FromString a # 
Instance details

Defined in Data.Singletons.Prelude.IsString

type FromString a = a
type Show_ (arg :: Symbol) # 
Instance details

Defined in Data.Singletons.Prelude.Show

type Show_ (arg :: Symbol)
type (a :: Symbol) == (b :: Symbol) # 
Instance details

Defined in Data.Singletons.TypeLits.Internal

type (a :: Symbol) == (b :: Symbol) = a == b
type (x :: Symbol) /= (y :: Symbol) # 
Instance details

Defined in Data.Singletons.TypeLits.Internal

type (x :: Symbol) /= (y :: Symbol) = Not (x == y)
type Compare (a :: Symbol) (b :: Symbol) # 
Instance details

Defined in Data.Singletons.TypeLits.Internal

type Compare (a :: Symbol) (b :: Symbol) = CmpSymbol a b
type (arg1 :: Symbol) < (arg2 :: Symbol) # 
Instance details

Defined in Data.Singletons.TypeLits.Internal

type (arg1 :: Symbol) < (arg2 :: Symbol)
type (arg1 :: Symbol) <= (arg2 :: Symbol) # 
Instance details

Defined in Data.Singletons.TypeLits.Internal

type (arg1 :: Symbol) <= (arg2 :: Symbol)
type (arg1 :: Symbol) > (arg2 :: Symbol) # 
Instance details

Defined in Data.Singletons.TypeLits.Internal

type (arg1 :: Symbol) > (arg2 :: Symbol)
type (arg1 :: Symbol) >= (arg2 :: Symbol) # 
Instance details

Defined in Data.Singletons.TypeLits.Internal

type (arg1 :: Symbol) >= (arg2 :: Symbol)
type Max (arg1 :: Symbol) (arg2 :: Symbol) # 
Instance details

Defined in Data.Singletons.TypeLits.Internal

type Max (arg1 :: Symbol) (arg2 :: Symbol)
type Min (arg1 :: Symbol) (arg2 :: Symbol) # 
Instance details

Defined in Data.Singletons.TypeLits.Internal

type Min (arg1 :: Symbol) (arg2 :: Symbol)
type ShowList (arg1 :: [Symbol]) arg2 # 
Instance details

Defined in Data.Singletons.Prelude.Show

type ShowList (arg1 :: [Symbol]) arg2
type Apply KnownSymbolSym0 (l :: Symbol) # 
Instance details

Defined in Data.Singletons.TypeLits

type Apply ShowCommaSpaceSym0 (l :: Symbol) # 
Instance details

Defined in Data.Singletons.Prelude.Show

type Apply ShowSpaceSym0 (l :: Symbol) # 
Instance details

Defined in Data.Singletons.Prelude.Show

type ShowsPrec a1 (a2 :: Symbol) a3 # 
Instance details

Defined in Data.Singletons.Prelude.Show

type ShowsPrec a1 (a2 :: Symbol) a3
type Apply ((<>@#@$$) l1 :: TyFun Symbol Symbol -> *) (l2 :: Symbol) # 
Instance details

Defined in Data.Singletons.TypeLits.Internal

type Apply ((<>@#@$$) l1 :: TyFun Symbol Symbol -> *) (l2 :: Symbol) = l1 <> l2
type Apply (ShowCharSym1 l1 :: TyFun Symbol Symbol -> *) (l2 :: Symbol) # 
Instance details

Defined in Data.Singletons.Prelude.Show

type Apply (ShowCharSym1 l1 :: TyFun Symbol Symbol -> *) (l2 :: Symbol) = ShowChar l1 l2
type Apply (ShowStringSym1 l1 :: TyFun Symbol Symbol -> *) (l2 :: Symbol) # 
Instance details

Defined in Data.Singletons.Prelude.Show

type Apply (ShowStringSym1 l1 :: TyFun Symbol Symbol -> *) (l2 :: Symbol) = ShowString l1 l2
type Apply (FromStringSym0 :: TyFun Symbol k2 -> *) (l :: Symbol) # 
Instance details

Defined in Data.Singletons.Prelude.IsString

type Apply (FromStringSym0 :: TyFun Symbol k2 -> *) (l :: Symbol) = (FromString l :: k2)
type Apply (Show_Sym0 :: TyFun a Symbol -> *) (l :: a) # 
Instance details

Defined in Data.Singletons.Prelude.Show

type Apply (Show_Sym0 :: TyFun a Symbol -> *) (l :: a) = Show_ l
type Apply (ShowListSym1 l1 :: TyFun Symbol Symbol -> *) (l2 :: Symbol) # 
Instance details

Defined in Data.Singletons.Prelude.Show

type Apply (ShowListSym1 l1 :: TyFun Symbol Symbol -> *) (l2 :: Symbol) = ShowList l1 l2
type Apply (ShowsSym1 l1 :: TyFun Symbol Symbol -> *) (l2 :: Symbol) # 
Instance details

Defined in Data.Singletons.Prelude.Show

type Apply (ShowsSym1 l1 :: TyFun Symbol Symbol -> *) (l2 :: Symbol) = Shows l1 l2
type Apply (ShowParenSym2 l1 l2 :: TyFun Symbol Symbol -> *) (l3 :: Symbol) # 
Instance details

Defined in Data.Singletons.Prelude.Show

type Apply (ShowParenSym2 l1 l2 :: TyFun Symbol Symbol -> *) (l3 :: Symbol) = ShowParen l1 l2 l3
type Apply (ShowsPrecSym2 l1 l2 :: TyFun Symbol Symbol -> *) (l3 :: Symbol) # 
Instance details

Defined in Data.Singletons.Prelude.Show

type Apply (ShowsPrecSym2 l1 l2 :: TyFun Symbol Symbol -> *) (l3 :: Symbol) = ShowsPrec l1 l2 l3
type Apply (ShowListWithSym2 l1 l2 :: TyFun Symbol Symbol -> *) (l3 :: Symbol) # 
Instance details

Defined in Data.Singletons.Prelude.Show

type Apply (ShowListWithSym2 l1 l2 :: TyFun Symbol Symbol -> *) (l3 :: Symbol) = ShowListWith l1 l2 l3
type Apply ShowParenSym0 (l :: Bool) # 
Instance details

Defined in Data.Singletons.Prelude.Show

type Apply ShowCharSym0 (l :: Symbol) # 
Instance details

Defined in Data.Singletons.Prelude.Show

type Apply ShowStringSym0 (l :: Symbol) # 
Instance details

Defined in Data.Singletons.Prelude.Show

type Apply (<>@#@$) (l :: Symbol) # 
Instance details

Defined in Data.Singletons.TypeLits.Internal

type Apply (<>@#@$) (l :: Symbol) = (<>@#@$$) l
type Apply (ShowsPrecSym0 :: TyFun Nat (TyFun a6989586621679694510 (TyFun Symbol Symbol -> Type) -> Type) -> *) (l :: Nat) # 
Instance details

Defined in Data.Singletons.Prelude.Show

type Apply (ShowsPrecSym0 :: TyFun Nat (TyFun a6989586621679694510 (TyFun Symbol Symbol -> Type) -> Type) -> *) (l :: Nat) = (ShowsPrecSym1 l :: TyFun a6989586621679694510 (TyFun Symbol Symbol -> Type) -> *)
type Apply (ShowsSym0 :: TyFun a6989586621679694495 (TyFun Symbol Symbol -> Type) -> *) (l :: a6989586621679694495) # 
Instance details

Defined in Data.Singletons.Prelude.Show

type Apply (ShowsSym0 :: TyFun a6989586621679694495 (TyFun Symbol Symbol -> Type) -> *) (l :: a6989586621679694495) = ShowsSym1 l
type Apply (ShowsPrecSym1 l1 :: TyFun a6989586621679694510 (TyFun Symbol Symbol -> Type) -> *) (l2 :: a6989586621679694510) # 
Instance details

Defined in Data.Singletons.Prelude.Show

type Apply (ShowsPrecSym1 l1 :: TyFun a6989586621679694510 (TyFun Symbol Symbol -> Type) -> *) (l2 :: a6989586621679694510) = ShowsPrecSym2 l1 l2
type Apply UnlinesSym0 (l :: [Symbol]) # 
Instance details

Defined in Data.Singletons.Prelude.List

type Apply UnlinesSym0 (l :: [Symbol]) = Unlines l
type Apply UnwordsSym0 (l :: [Symbol]) # 
Instance details

Defined in Data.Singletons.Prelude.List

type Apply UnwordsSym0 (l :: [Symbol]) = Unwords l
type Apply (ShowListSym0 :: TyFun [a6989586621679694510] (TyFun Symbol Symbol -> Type) -> *) (l :: [a6989586621679694510]) # 
Instance details

Defined in Data.Singletons.Prelude.Show

type Apply (ShowListSym0 :: TyFun [a6989586621679694510] (TyFun Symbol Symbol -> Type) -> *) (l :: [a6989586621679694510]) = ShowListSym1 l
type Apply (ShowListWithSym1 l1 :: TyFun [a6989586621679694494] (TyFun Symbol Symbol -> Type) -> *) (l2 :: [a6989586621679694494]) # 
Instance details

Defined in Data.Singletons.Prelude.Show

type Apply (ShowListWithSym1 l1 :: TyFun [a6989586621679694494] (TyFun Symbol Symbol -> Type) -> *) (l2 :: [a6989586621679694494]) = ShowListWithSym2 l1 l2
type Apply (ShowParenSym1 l1 :: TyFun (TyFun Symbol Symbol -> Type) (TyFun Symbol Symbol -> Type) -> *) (l2 :: TyFun Symbol Symbol -> Type) # 
Instance details

Defined in Data.Singletons.Prelude.Show

type Apply (ShowListWithSym0 :: TyFun (TyFun a6989586621679694494 (TyFun Symbol Symbol -> Type) -> Type) (TyFun [a6989586621679694494] (TyFun Symbol Symbol -> Type) -> Type) -> *) (l :: TyFun a6989586621679694494 (TyFun Symbol Symbol -> Type) -> Type) # 
Instance details

Defined in Data.Singletons.Prelude.Show

type Apply (ShowListWithSym0 :: TyFun (TyFun a6989586621679694494 (TyFun Symbol Symbol -> Type) -> Type) (TyFun [a6989586621679694494] (TyFun Symbol Symbol -> Type) -> Type) -> *) (l :: TyFun a6989586621679694494 (TyFun Symbol Symbol -> Type) -> Type) = ShowListWithSym1 l

data family Sing (a :: k) #

The singleton kind-indexed data family.

Instances
SDecide k => TestCoercion (Sing :: k -> *) # 
Instance details

Defined in Data.Singletons.Decide

Methods

testCoercion :: Sing a -> Sing b -> Maybe (Coercion a b) #

SDecide k => TestEquality (Sing :: k -> *) # 
Instance details

Defined in Data.Singletons.Decide

Methods

testEquality :: Sing a -> Sing b -> Maybe (a :~: b) #

Show (SSymbol s) # 
Instance details

Defined in Data.Singletons.ShowSing

Methods

showsPrec :: Int -> SSymbol s -> ShowS #

show :: SSymbol s -> String #

showList :: [SSymbol s] -> ShowS #

Show (SNat n) # 
Instance details

Defined in Data.Singletons.ShowSing

Methods

showsPrec :: Int -> SNat n -> ShowS #

show :: SNat n -> String #

showList :: [SNat n] -> ShowS #

Eq (Sing a) # 
Instance details

Defined in Data.Singletons.TypeRepStar

Methods

(==) :: Sing a -> Sing a -> Bool #

(/=) :: Sing a -> Sing a -> Bool #

Ord (Sing a) # 
Instance details

Defined in Data.Singletons.TypeRepStar

Methods

compare :: Sing a -> Sing a -> Ordering #

(<) :: Sing a -> Sing a -> Bool #

(<=) :: Sing a -> Sing a -> Bool #

(>) :: Sing a -> Sing a -> Bool #

(>=) :: Sing a -> Sing a -> Bool #

max :: Sing a -> Sing a -> Sing a #

min :: Sing a -> Sing a -> Sing a #

Show (Sing z) # 
Instance details

Defined in Data.Singletons.ShowSing

Methods

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

show :: Sing z -> String #

showList :: [Sing z] -> ShowS #

(ShowSing a, ShowSing [a]) => Show (Sing z) # 
Instance details

Defined in Data.Singletons.ShowSing

Methods

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

show :: Sing z -> String #

showList :: [Sing z] -> ShowS #

ShowSing a => Show (Sing z) # 
Instance details

Defined in Data.Singletons.ShowSing

Methods

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

show :: Sing z -> String #

showList :: [Sing z] -> ShowS #

Show (Sing z) # 
Instance details

Defined in Data.Singletons.ShowSing

Methods

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

show :: Sing z -> String #

showList :: [Sing z] -> ShowS #

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

Defined in Data.Singletons.ShowSing

Methods

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

show :: Sing z -> String #

showList :: [Sing z] -> ShowS #

Show (Sing a) # 
Instance details

Defined in Data.Singletons.TypeRepStar

Methods

showsPrec :: Int -> Sing a -> ShowS #

show :: Sing a -> String #

showList :: [Sing a] -> ShowS #

Show (Sing z) # 
Instance details

Defined in Data.Singletons.ShowSing

Methods

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

show :: Sing z -> String #

showList :: [Sing z] -> ShowS #

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

Defined in Data.Singletons.ShowSing

Methods

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

show :: Sing z -> String #

showList :: [Sing z] -> ShowS #

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

Defined in Data.Singletons.ShowSing

Methods

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

show :: Sing z -> String #

showList :: [Sing z] -> ShowS #

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

Defined in Data.Singletons.ShowSing

Methods

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

show :: Sing z -> String #

showList :: [Sing z] -> ShowS #

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

Defined in Data.Singletons.ShowSing

Methods

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

show :: Sing z -> String #

showList :: [Sing z] -> ShowS #

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

Defined in Data.Singletons.ShowSing

Methods

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

show :: Sing z -> String #

showList :: [Sing z] -> ShowS #

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

Defined in Data.Singletons.ShowSing

Methods

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

show :: Sing z -> String #

showList :: [Sing z] -> ShowS #

Show (Sing z) # 
Instance details

Defined in Data.Singletons.ShowSing

Methods

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

show :: Sing z -> String #

showList :: [Sing z] -> ShowS #

(ShowSing a, ShowSing [a]) => Show (Sing z) # 
Instance details

Defined in Data.Singletons.ShowSing

Methods

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

show :: Sing z -> String #

showList :: [Sing z] -> ShowS #

data Sing (z :: Bool) # 
Instance details

Defined in Data.Singletons.Prelude.Instances

data Sing (z :: Bool) where
data Sing (z :: Ordering) # 
Instance details

Defined in Data.Singletons.Prelude.Instances

data Sing (z :: Ordering) where
data Sing (a :: Type) # 
Instance details

Defined in Data.Singletons.TypeRepStar

data Sing (a :: Type) = STypeRep (TypeRep a)
data Sing (n :: Nat) # 
Instance details

Defined in Data.Singletons.TypeLits.Internal

data Sing (n :: Nat) where
data Sing (n :: Symbol) # 
Instance details

Defined in Data.Singletons.TypeLits.Internal

data Sing (n :: Symbol) where
data Sing (z :: ()) # 
Instance details

Defined in Data.Singletons.Prelude.Instances

data Sing (z :: ()) where
data Sing (z :: Void) # 
Instance details

Defined in Data.Singletons.Prelude.Instances

data Sing (z :: Void)
data Sing (z :: [a]) # 
Instance details

Defined in Data.Singletons.Prelude.Instances

data Sing (z :: [a]) where
data Sing (z :: Maybe a) # 
Instance details

Defined in Data.Singletons.Prelude.Instances

data Sing (z :: Maybe a) where
data Sing (z :: NonEmpty a) # 
Instance details

Defined in Data.Singletons.Prelude.Instances

data Sing (z :: NonEmpty a) where
data Sing (z :: Either a b) # 
Instance details

Defined in Data.Singletons.Prelude.Instances

data Sing (z :: Either a b) where
data Sing (z :: (a, b)) # 
Instance details

Defined in Data.Singletons.Prelude.Instances

data Sing (z :: (a, b)) where
data Sing (f :: k1 ~> k2) # 
Instance details

Defined in Data.Singletons.Internal

data Sing (f :: k1 ~> k2) = SLambda {}
data Sing (z :: (a, b, c)) # 
Instance details

Defined in Data.Singletons.Prelude.Instances

data Sing (z :: (a, b, c)) where
data Sing (z :: (a, b, c, d)) # 
Instance details

Defined in Data.Singletons.Prelude.Instances

data Sing (z :: (a, b, c, d)) where
data Sing (z :: (a, b, c, d, e)) # 
Instance details

Defined in Data.Singletons.Prelude.Instances

data Sing (z :: (a, b, c, d, e)) where
data Sing (z :: (a, b, c, d, e, f)) # 
Instance details

Defined in Data.Singletons.Prelude.Instances

data Sing (z :: (a, b, c, d, e, f)) where
data Sing (z :: (a, b, c, d, e, f, g)) # 
Instance details

Defined in Data.Singletons.Prelude.Instances

data Sing (z :: (a, b, c, d, e, f, g)) where

type SNat (x :: Nat) = Sing x #

Kind-restricted synonym for Sing for Nats

type SSymbol (x :: Symbol) = Sing x #

Kind-restricted synonym for Sing for Symbols

withKnownNat :: Sing n -> (KnownNat n => r) -> r #

Given a singleton for Nat, call something requiring a KnownNat instance.

withKnownSymbol :: Sing n -> (KnownSymbol n => r) -> r #

Given a singleton for Symbol, call something requiring a KnownSymbol instance.

type family Error (str :: k0) :: k where ... #

The promotion of error. This version is more poly-kinded for easier use.

sError :: Sing (str :: Symbol) -> a #

The singleton for error

type family Undefined :: k where ... #

The promotion of undefined.

sUndefined :: a #

The singleton for undefined.

class KnownNat (n :: Nat) #

This class gives the integer associated with a type-level natural. There are instances of the class for every concrete literal: 0, 1, 2, etc.

Since: base-4.7.0.0

Minimal complete definition

natSing

natVal :: KnownNat n => proxy n -> Natural #

Since: base-4.10.0.0

class KnownSymbol (n :: Symbol) #

This class gives the string associated with a type-level symbol. There are instances of the class for every concrete literal: "hello", etc.

Since: base-4.7.0.0

Minimal complete definition

symbolSing

symbolVal :: KnownSymbol n => proxy n -> String #

Since: base-4.7.0.0

type family (a :: Nat) ^ (b :: Nat) :: Nat where ... infixr 8 #

Exponentiation of type-level naturals.

Since: base-4.7.0.0

(%^) :: Sing a -> Sing b -> Sing (a ^ b) infixr 8 #

The singleton analogue of '(TL.^)' for Nats.

type (<>) a b = AppendSymbol a b infixr 6 #

The promoted analogue of '(<>)' for Symbols. This uses the special AppendSymbol type family from GHC.TypeLits.

(%<>) :: Sing a -> Sing b -> Sing (a <> b) infixr 6 #

The singleton analogue of '(<>)' for Symbols.

type family Log2 (a :: Nat) :: Nat where ... #

Log base 2 (round down) of natural numbers. Log 0 is undefined (i.e., it cannot be reduced).

Since: base-4.11.0.0

sLog2 :: Sing x -> Sing (Log2 x) #

type family Div (a :: Nat) (b :: Nat) :: Nat where ... infixl 7 #

Division (round down) of natural numbers. Div x 0 is undefined (i.e., it cannot be reduced).

Since: base-4.11.0.0

sDiv :: Sing x -> Sing y -> Sing (Div x y) infixl 7 #

type family Mod (a :: Nat) (b :: Nat) :: Nat where ... infixl 7 #

Modulus of natural numbers. Mod x 0 is undefined (i.e., it cannot be reduced).

Since: base-4.11.0.0

sMod :: Sing x -> Sing y -> Sing (Mod x y) infixl 7 #

type family DivMod (a :: Nat) (a :: Nat) :: (Nat, Nat) where ... #

Equations

DivMod x y = Apply (Apply Tuple2Sym0 (Apply (Apply DivSym0 x) y)) (Apply (Apply ModSym0 x) y) 

sDivMod :: Sing x -> Sing y -> Sing (DivMod x y) #

type family Quot (a :: Nat) (a :: Nat) :: Nat where ... infixl 7 #

Equations

Quot a_6989586621679413712 a_6989586621679413714 = Apply (Apply DivSym0 a_6989586621679413712) a_6989586621679413714 

sQuot :: Sing x -> Sing y -> Sing (Quot x y) infixl 7 #

type family Rem (a :: Nat) (a :: Nat) :: Nat where ... infixl 7 #

Equations

Rem a_6989586621679413697 a_6989586621679413699 = Apply (Apply ModSym0 a_6989586621679413697) a_6989586621679413699 

sRem :: Sing x -> Sing y -> Sing (Rem x y) infixl 7 #

type family QuotRem (a :: Nat) (a :: Nat) :: (Nat, Nat) where ... #

Equations

QuotRem a_6989586621679413738 a_6989586621679413740 = Apply (Apply DivModSym0 a_6989586621679413738) a_6989586621679413740 

sQuotRem :: Sing x -> Sing y -> Sing (QuotRem x y) #

Defunctionalization symbols

data ErrorSym0 (l :: TyFun k06989586621679393946 k6989586621679393947) #

Instances
SuppressUnusedWarnings (ErrorSym0 :: TyFun k06989586621679393946 k6989586621679393947 -> *) # 
Instance details

Defined in Data.Singletons.TypeLits.Internal

type Apply (ErrorSym0 :: TyFun k0 k2 -> *) (l :: k0) # 
Instance details

Defined in Data.Singletons.TypeLits.Internal

type Apply (ErrorSym0 :: TyFun k0 k2 -> *) (l :: k0) = (Error l :: k2)

type ErrorSym1 (t :: k06989586621679393946) = Error t #

data KnownNatSym0 (l :: TyFun Nat Constraint) #

Instances
SuppressUnusedWarnings KnownNatSym0 # 
Instance details

Defined in Data.Singletons.TypeLits

type Apply KnownNatSym0 (l :: Nat) # 
Instance details

Defined in Data.Singletons.TypeLits

type Apply KnownNatSym0 (l :: Nat) = KnownNat l

type KnownNatSym1 (t :: Nat) = KnownNat t #

data (^@#@$) (l :: TyFun Nat (TyFun Nat Nat -> Type)) #

Instances
SuppressUnusedWarnings (^@#@$) # 
Instance details

Defined in Data.Singletons.TypeLits.Internal

type Apply (^@#@$) (l :: Nat) # 
Instance details

Defined in Data.Singletons.TypeLits.Internal

type Apply (^@#@$) (l :: Nat) = (^@#@$$) l

data (l :: Nat) ^@#@$$ (l :: TyFun Nat Nat) #

Instances
SuppressUnusedWarnings (^@#@$$) # 
Instance details

Defined in Data.Singletons.TypeLits.Internal

type Apply ((^@#@$$) l1 :: TyFun Nat Nat -> *) (l2 :: Nat) # 
Instance details

Defined in Data.Singletons.TypeLits.Internal

type Apply ((^@#@$$) l1 :: TyFun Nat Nat -> *) (l2 :: Nat) = l1 ^ l2

type (^@#@$$$) (t :: Nat) (t :: Nat) = (^) t t #

data (<>@#@$) l #

Instances
SuppressUnusedWarnings (<>@#@$) # 
Instance details

Defined in Data.Singletons.TypeLits.Internal

type Apply (<>@#@$) (l :: Symbol) # 
Instance details

Defined in Data.Singletons.TypeLits.Internal

type Apply (<>@#@$) (l :: Symbol) = (<>@#@$$) l

data (l :: Symbol) <>@#@$$ l #

Instances
SuppressUnusedWarnings (<>@#@$$) # 
Instance details

Defined in Data.Singletons.TypeLits.Internal

type Apply ((<>@#@$$) l1 :: TyFun Symbol Symbol -> *) (l2 :: Symbol) # 
Instance details

Defined in Data.Singletons.TypeLits.Internal

type Apply ((<>@#@$$) l1 :: TyFun Symbol Symbol -> *) (l2 :: Symbol) = l1 <> l2

type (<>@#@$$$) (t :: Symbol) (t :: Symbol) = (<>) t t #

data Log2Sym0 (l :: TyFun Nat Nat) #

Instances
SuppressUnusedWarnings Log2Sym0 # 
Instance details

Defined in Data.Singletons.TypeLits

type Apply Log2Sym0 (l :: Nat) # 
Instance details

Defined in Data.Singletons.TypeLits

type Apply Log2Sym0 (l :: Nat) = Log2 l

type Log2Sym1 (t :: Nat) = Log2 t #

data DivSym0 (l :: TyFun Nat (TyFun Nat Nat -> Type)) #

Instances
SuppressUnusedWarnings DivSym0 # 
Instance details

Defined in Data.Singletons.TypeLits

type Apply DivSym0 (l :: Nat) # 
Instance details

Defined in Data.Singletons.TypeLits

type Apply DivSym0 (l :: Nat) = DivSym1 l

data DivSym1 (l :: Nat) (l :: TyFun Nat Nat) #

Instances
SuppressUnusedWarnings DivSym1 # 
Instance details

Defined in Data.Singletons.TypeLits

type Apply (DivSym1 l1 :: TyFun Nat Nat -> *) (l2 :: Nat) # 
Instance details

Defined in Data.Singletons.TypeLits

type Apply (DivSym1 l1 :: TyFun Nat Nat -> *) (l2 :: Nat) = Div l1 l2

type DivSym2 (t :: Nat) (t :: Nat) = Div t t #

data ModSym0 (l :: TyFun Nat (TyFun Nat Nat -> Type)) #

Instances
SuppressUnusedWarnings ModSym0 # 
Instance details

Defined in Data.Singletons.TypeLits

type Apply ModSym0 (l :: Nat) # 
Instance details

Defined in Data.Singletons.TypeLits

type Apply ModSym0 (l :: Nat) = ModSym1 l

data ModSym1 (l :: Nat) (l :: TyFun Nat Nat) #

Instances
SuppressUnusedWarnings ModSym1 # 
Instance details

Defined in Data.Singletons.TypeLits

type Apply (ModSym1 l1 :: TyFun Nat Nat -> *) (l2 :: Nat) # 
Instance details

Defined in Data.Singletons.TypeLits

type Apply (ModSym1 l1 :: TyFun Nat Nat -> *) (l2 :: Nat) = Mod l1 l2

type ModSym2 (t :: Nat) (t :: Nat) = Mod t t #

data DivModSym0 (l :: TyFun Nat (TyFun Nat (Nat, Nat) -> Type)) #

Instances
SuppressUnusedWarnings DivModSym0 # 
Instance details

Defined in Data.Singletons.TypeLits

type Apply DivModSym0 (l :: Nat) # 
Instance details

Defined in Data.Singletons.TypeLits

type Apply DivModSym0 (l :: Nat) = DivModSym1 l

data DivModSym1 (l :: Nat) (l :: TyFun Nat (Nat, Nat)) #

Instances
SuppressUnusedWarnings DivModSym1 # 
Instance details

Defined in Data.Singletons.TypeLits

type Apply (DivModSym1 l1 :: TyFun Nat (Nat, Nat) -> *) (l2 :: Nat) # 
Instance details

Defined in Data.Singletons.TypeLits

type Apply (DivModSym1 l1 :: TyFun Nat (Nat, Nat) -> *) (l2 :: Nat) = DivMod l1 l2

type DivModSym2 (t :: Nat) (t :: Nat) = DivMod t t #

data QuotSym0 (l :: TyFun Nat (TyFun Nat Nat -> Type)) #

Instances
SuppressUnusedWarnings QuotSym0 # 
Instance details

Defined in Data.Singletons.TypeLits

type Apply QuotSym0 (l :: Nat) # 
Instance details

Defined in Data.Singletons.TypeLits

type Apply QuotSym0 (l :: Nat) = QuotSym1 l

data QuotSym1 (l :: Nat) (l :: TyFun Nat Nat) #

Instances
SuppressUnusedWarnings QuotSym1 # 
Instance details

Defined in Data.Singletons.TypeLits

type Apply (QuotSym1 l1 :: TyFun Nat Nat -> *) (l2 :: Nat) # 
Instance details

Defined in Data.Singletons.TypeLits

type Apply (QuotSym1 l1 :: TyFun Nat Nat -> *) (l2 :: Nat) = Quot l1 l2

type QuotSym2 (t :: Nat) (t :: Nat) = Quot t t #

data RemSym0 (l :: TyFun Nat (TyFun Nat Nat -> Type)) #

Instances
SuppressUnusedWarnings RemSym0 # 
Instance details

Defined in Data.Singletons.TypeLits

type Apply RemSym0 (l :: Nat) # 
Instance details

Defined in Data.Singletons.TypeLits

type Apply RemSym0 (l :: Nat) = RemSym1 l

data RemSym1 (l :: Nat) (l :: TyFun Nat Nat) #

Instances
SuppressUnusedWarnings RemSym1 # 
Instance details

Defined in Data.Singletons.TypeLits

type Apply (RemSym1 l1 :: TyFun Nat Nat -> *) (l2 :: Nat) # 
Instance details

Defined in Data.Singletons.TypeLits

type Apply (RemSym1 l1 :: TyFun Nat Nat -> *) (l2 :: Nat) = Rem l1 l2

type RemSym2 (t :: Nat) (t :: Nat) = Rem t t #

data QuotRemSym0 (l :: TyFun Nat (TyFun Nat (Nat, Nat) -> Type)) #

Instances
SuppressUnusedWarnings QuotRemSym0 # 
Instance details

Defined in Data.Singletons.TypeLits

type Apply QuotRemSym0 (l :: Nat) # 
Instance details

Defined in Data.Singletons.TypeLits

data QuotRemSym1 (l :: Nat) (l :: TyFun Nat (Nat, Nat)) #

Instances
SuppressUnusedWarnings QuotRemSym1 # 
Instance details

Defined in Data.Singletons.TypeLits

type Apply (QuotRemSym1 l1 :: TyFun Nat (Nat, Nat) -> *) (l2 :: Nat) # 
Instance details

Defined in Data.Singletons.TypeLits

type Apply (QuotRemSym1 l1 :: TyFun Nat (Nat, Nat) -> *) (l2 :: Nat) = QuotRem l1 l2

type QuotRemSym2 (t :: Nat) (t :: Nat) = QuotRem t t #

Orphan instances

Eq Nat # 
Instance details

Methods

(==) :: Nat -> Nat -> Bool #

(/=) :: Nat -> Nat -> Bool #

Eq Symbol #

This bogus instance is helpful for people who want to define functions over Symbols that will only be used at the type level or as singletons.

Instance details

Methods

(==) :: Symbol -> Symbol -> Bool #

(/=) :: Symbol -> Symbol -> Bool #

Num Nat #

This bogus Num instance is helpful for people who want to define functions over Nats that will only be used at the type level or as singletons. A correct SNum instance for Nat singletons exists.

Instance details

Methods

(+) :: Nat -> Nat -> Nat #

(-) :: Nat -> Nat -> Nat #

(*) :: Nat -> Nat -> Nat #

negate :: Nat -> Nat #

abs :: Nat -> Nat #

signum :: Nat -> Nat #

fromInteger :: Integer -> Nat #

Ord Nat # 
Instance details

Methods

compare :: Nat -> Nat -> Ordering #

(<) :: Nat -> Nat -> Bool #

(<=) :: Nat -> Nat -> Bool #

(>) :: Nat -> Nat -> Bool #

(>=) :: Nat -> Nat -> Bool #

max :: Nat -> Nat -> Nat #

min :: Nat -> Nat -> Nat #

Ord Symbol # 
Instance details

IsString Symbol # 
Instance details

Methods

fromString :: String -> Symbol #