tfp-1.0.0.2: Type-level integers, booleans, lists using type families

Safe HaskellSafe
LanguageHaskell2010

Type.Data.Bool

Documentation

data True #

Instances
Show True # 
Instance details

Defined in Type.Data.Bool

Methods

showsPrec :: Int -> True -> ShowS #

show :: True -> String #

showList :: [True] -> ShowS #

type Not True # 
Instance details

Defined in Type.Data.Bool

type Not True = False
type True :||: _x # 
Instance details

Defined in Type.Data.Bool

type True :||: _x = True
type True :&&: x # 
Instance details

Defined in Type.Data.Bool

type True :&&: x = x
type Compare False True # 
Instance details

Defined in Type.Data.Ord

type Compare True False # 
Instance details

Defined in Type.Data.Ord

type Compare True True # 
Instance details

Defined in Type.Data.Ord

type If True y _z # 
Instance details

Defined in Type.Data.Bool

type If True y _z = y

data False #

Instances
Show False # 
Instance details

Defined in Type.Data.Bool

Methods

showsPrec :: Int -> False -> ShowS #

show :: False -> String #

showList :: [False] -> ShowS #

type Not False # 
Instance details

Defined in Type.Data.Bool

type Not False = True
type False :||: x # 
Instance details

Defined in Type.Data.Bool

type False :||: x = x
type False :&&: _x # 
Instance details

Defined in Type.Data.Bool

type False :&&: _x = False
type Compare False False # 
Instance details

Defined in Type.Data.Ord

type Compare False True # 
Instance details

Defined in Type.Data.Ord

type Compare True False # 
Instance details

Defined in Type.Data.Ord

type If False _y z # 
Instance details

Defined in Type.Data.Bool

type If False _y z = z

type family Not x #

Instances
type Not False # 
Instance details

Defined in Type.Data.Bool

type Not False = True
type Not True # 
Instance details

Defined in Type.Data.Bool

type Not True = False

not :: Proxy x -> Proxy (Not x) #

type family x :&&: y #

Instances
type False :&&: _x # 
Instance details

Defined in Type.Data.Bool

type False :&&: _x = False
type True :&&: x # 
Instance details

Defined in Type.Data.Bool

type True :&&: x = x

and :: Proxy x -> Proxy y -> Proxy (x :&&: y) #

type family x :||: y #

Instances
type False :||: x # 
Instance details

Defined in Type.Data.Bool

type False :||: x = x
type True :||: _x # 
Instance details

Defined in Type.Data.Bool

type True :||: _x = True

or :: Proxy x -> Proxy y -> Proxy (x :||: y) #

type family If x y z #

Instances
type If False _y z # 
Instance details

Defined in Type.Data.Bool

type If False _y z = z
type If True y _z # 
Instance details

Defined in Type.Data.Bool

type If True y _z = y

if_ :: Proxy x -> Proxy y -> Proxy z -> Proxy (If x y z) #