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

Safe HaskellSafe
LanguageHaskell2010

Type.Data.Bool

Documentation

data True Source

Instances

Show True Source 
type Not True = False Source 
type True :||: _x = True Source 
type True :&&: x = x Source 
type Compare False True = LT Source 
type Compare True False = GT Source 
type Compare True True = EQ Source 
type If True y _z = y Source 

data False Source

Instances

Show False Source 
type Not False = True Source 
type False :||: x = x Source 
type False :&&: _x = False Source 
type Compare False False = EQ Source 
type Compare False True = LT Source 
type Compare True False = GT Source 
type If False _y z = z Source 

type family Not x Source

Instances

type Not False = True Source 
type Not True = False Source 

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

type family x :&&: y Source

Instances

type False :&&: _x = False Source 
type True :&&: x = x Source 

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

type family x :||: y Source

Instances

type False :||: x = x Source 
type True :||: _x = True Source 

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

type family If x y z Source

Instances

type If False _y z = z Source 
type If True y _z = y Source 

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