base-4.7.0.0: Basic libraries

License | BSD-style (see the LICENSE file in the distribution)
Maintainer | libraries@haskell.org
Stability | experimental
Portability | not portable
Safe Haskell | Safe-Inferred
Language | Haskell2010

Data.Type.Bool

Description

Basic operations on type-level Booleans.

Since: 4.7.0.0

Synopsis

- type family If cond tru fls
- type family a && b
- type family a || b
- type family Not a

# Documentation

type family If cond tru fls

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 infixr 3

Type-level "and"

Equations

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

type family a || b infixr 2

Type-level "or"

Equations

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

type family Not a

Type-level "not"

Equations

Not False = True |
Not True = False |