tfp-1.0.0.1: 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

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