cond- Basic conditional and boolean operators with monadic variants.

Safe HaskellNone




class Boolean b whereSource

A class for boolean algebras. Instances of this class are expected to obey all the laws of boolean algebra.

Minimal complete definition: true or false, not or <-->, || or &&.


true :: bSource

Truth value, defined as the top of the bounded lattice

false :: bSource

False value, defined as the bottom of the bounded lattice.

not :: b -> bSource

Logical negation.

(&&) :: b -> b -> bSource

Logical conjunction. (infxr 3)

(||) :: b -> b -> bSource

Logical inclusive disjunction. (infixr 2)

xor :: b -> b -> bSource

Logical exclusive disjunction. (infixr 1)

(-->) :: b -> b -> bSource

Logical implication. (infixr 1)

(<-->) :: b -> b -> bSource

Logical biconditional. (infixr 1)

fromBool :: Boolean b => Bool -> bSource

Injection from Bool into a boolean algebra.

newtype Bitwise a Source

A newtype wrapper that derives a Boolean instance from any type that is both a Bits instance and a Num instance, such that boolean logic operations on the Bitwise wrapper correspond to bitwise logic operations on the inner type. It should be noted that false is defined as Bitwise 0 and true is defined as not false.

In addition, a number of other classes are automatically derived from the inner type. These classes were chosen on the basis that many other Bits instances defined in base are also instances of these classes.




getBits :: a


Typeable1 Bitwise 
Bounded a => Bounded (Bitwise a) 
Enum a => Enum (Bitwise a) 
Eq a => Eq (Bitwise a) 
(Real (Bitwise a), Enum (Bitwise a), Integral a) => Integral (Bitwise a) 
(Typeable (Bitwise a), Data a) => Data (Bitwise a) 
Num a => Num (Bitwise a) 
(Eq (Bitwise a), Ord a) => Ord (Bitwise a) 
Read a => Read (Bitwise a) 
(Num (Bitwise a), Ord (Bitwise a), Real a) => Real (Bitwise a) 
Show a => Show (Bitwise a) 
(Ord (Bitwise a), Ix a) => Ix (Bitwise a) 
PrintfArg a => PrintfArg (Bitwise a) 
Storable a => Storable (Bitwise a) 
(Eq (Bitwise a), Bits a) => Bits (Bitwise a) 
(Num a, Bits a) => Boolean (Bitwise a)