base-4.11.1.0: Basic libraries

Data.Type.Bool

Description

Basic operations on type-level Booleans.

Since: base-4.7.0.0

Synopsis
• type family If cond tru fls where ...
• type family a && b where ...
• type family a || b where ...
• type family Not a = res | res -> a where ...

Documentation

type family If cond tru fls where ... Source #

Type-level If. If True a b ==> a; If False a b ==> b

Equations

 If True tru fls = tru If False tru fls = fls

type family a && b where ... infixr 3 Source #

Type-level "and"

Equations

 False && a = False True && a = a a && False = False a && True = a a && a = a

type family a || b where ... infixr 2 Source #

Type-level "or"

Equations

 False || a = a True || a = True a || False = a a || True = True a || a = a

type family Not a = res | res -> a where ... Source #

Type-level "not". An injective type family since 4.10.0.0.

Since: base-4.7.0.0

Equations

 Not False = True Not True = False