tfp-1.0.2: Type-level integers, booleans, lists using type families
Safe HaskellSafe-Inferred
LanguageHaskell2010

Type.Data.Bool

Documentation

class C bool where Source #

Methods

switch :: f False -> f True -> f bool Source #

Instances

Instances details
C False Source # 
Instance details

Defined in Type.Data.Bool

Methods

switch :: f False -> f True -> f False Source #

C True Source # 
Instance details

Defined in Type.Data.Bool

Methods

switch :: f False -> f True -> f True Source #

data Singleton bool where Source #

Constructors

False :: Singleton False 
True :: Singleton True 

singleton :: C bool => Singleton bool Source #

data True Source #

Instances

Instances details
Show True Source # 
Instance details

Defined in Type.Data.Bool

Methods

showsPrec :: Int -> True -> ShowS #

show :: True -> String #

showList :: [True] -> ShowS #

C True Source # 
Instance details

Defined in Type.Data.Bool

Methods

switch :: f False -> f True -> f True Source #

type Not True Source # 
Instance details

Defined in Type.Data.Bool

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

Defined in Type.Data.Bool

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

Defined in Type.Data.Bool

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

Defined in Type.Data.Ord

type Compare True False Source # 
Instance details

Defined in Type.Data.Ord

type Compare True True Source # 
Instance details

Defined in Type.Data.Ord

type If True y _z Source # 
Instance details

Defined in Type.Data.Bool

type If True y _z = y

data False Source #

Instances

Instances details
Show False Source # 
Instance details

Defined in Type.Data.Bool

Methods

showsPrec :: Int -> False -> ShowS #

show :: False -> String #

showList :: [False] -> ShowS #

C False Source # 
Instance details

Defined in Type.Data.Bool

Methods

switch :: f False -> f True -> f False Source #

type Not False Source # 
Instance details

Defined in Type.Data.Bool

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

Defined in Type.Data.Bool

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

Defined in Type.Data.Bool

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

Defined in Type.Data.Ord

type Compare False True Source # 
Instance details

Defined in Type.Data.Ord

type Compare True False Source # 
Instance details

Defined in Type.Data.Ord

type If False _y z Source # 
Instance details

Defined in Type.Data.Bool

type If False _y z = z

type family Not x Source #

Instances

Instances details
type Not False Source # 
Instance details

Defined in Type.Data.Bool

type Not False = True
type Not True Source # 
Instance details

Defined in Type.Data.Bool

type Not True = False

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

type family x :&&: y Source #

Instances

Instances details
type False :&&: _x Source # 
Instance details

Defined in Type.Data.Bool

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

Defined in Type.Data.Bool

type True :&&: x = x

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

type family x :||: y Source #

Instances

Instances details
type False :||: x Source # 
Instance details

Defined in Type.Data.Bool

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

Defined in Type.Data.Bool

type True :||: _x = True

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

type family If x y z Source #

Instances

Instances details
type If False _y z Source # 
Instance details

Defined in Type.Data.Bool

type If False _y z = z
type If True y _z Source # 
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) Source #