typelevel-1.2.2: Useful type level operations (type families and related operators).

Safe HaskellNone
LanguageHaskell2010

Type.Bool

Documentation

type family Not a where ... Source #

Equations

Not True = False 
Not False = True 

type (&&) a b = And a b infixr 3 Source #

type family And a b where ... Source #

Equations

And True True = True 
And a b = False 

type family Or a b where ... Source #

Equations

Or True b = True 
Or a True = True 
Or a b = False 

type family Xor a b where ... Source #

Equations

Xor True True = False 
Xor True b = True 
Xor a True = True 
Xor a b = False 

type family If (cond :: Bool) (a :: k) (b :: k) :: k where ... Source #

Equations

If cond a a = a 
If True a b = a 
If False a b = b 

type family If' (cond :: Bool) (a :: Constraint) (b :: Constraint) :: Constraint where ... Source #

Equations

If' cond a a = a 
If' True a b = a 
If' False a b = b 

type family (a :: k) == (b :: k) where ... Source #

Equations

a == a = True 
a == b = False 

type family (a :: k) > (b :: k) :: Bool Source #

type family (a :: k) < (b :: k) :: Bool Source #

class KnownBool (b :: Bool) where Source #

Minimal complete definition

boolVal

Methods

boolVal :: Proxy b -> Bool Source #