type-level-numbers-0.1.1.1: Type level numbers implemented using type families.

Safe HaskellSafe
LanguageHaskell98

TypeLevel.Boolean

Contents

Synopsis

Documentation

data True Source #

Data type for truth

data False Source #

Data type for false.

Boolean operations

type family Not a :: * Source #

Negation

Instances

type Not False Source # 
type Not False = True
type Not True Source # 
type Not True = False

notT :: a -> Not a Source #

type family And a b :: * Source #

And for boolean types

Instances

andT :: a -> b -> And a b Source #

type family Or a b :: * Source #

Or for boolean types

Instances

orT :: a -> b -> Or a b Source #

type family Xor a b :: * Source #

Exlusive or for boolean types

Instances

xorT :: a -> b -> Xor a b Source #