lazy-search-0.1.1.0: Finds values satisfying a lazy predicate

Safe HaskellNone
LanguageHaskell2010

Data.Coolean

Contents

Description

Proper documentation is TBD

Synopsis

Documentation

data Cool Source

Concurrent booleans. Writing properties with the Cool data type often yields faster searches compared to Bool.

Constructors

Atom Bool 
Not Cool 
And Cool Cool 
Seq Cool Cool

Sequential conjunction, the second operator is not evaluated unless the first is true.

Overloaded parallel operators

class Coolean b where Source

Provides better interoperability between Bool and Cool by overloading operators.

Methods

toCool :: b -> Cool Source

toBool :: b -> Bool Source

isCool :: (a -> b) -> Bool Source

nott :: Coolean a => a -> Cool Source

Negation

(&&&) :: (Coolean a, Coolean b) => a -> b -> Cool infixr 3 Source

Commutative conjunction

(|||) :: (Coolean a, Coolean b) => a -> b -> Cool infixr 2 Source

Commutative disjunction

(==>) :: (Coolean a, Coolean b) => a -> b -> Cool Source

Parallel implication

Overloaded sequential operators

(!&&) :: (Coolean a, Coolean b) => a -> b -> Cool Source

Sequential conjunction. Does not evaluate second operand unless first is True.

(!||) :: (Coolean a, Coolean b) => a -> b -> Cool Source

Sequential disjunction. Does not evaluate second operand unless first is True.

(!=>) :: (Coolean a, Coolean b) => a -> b -> Cool Source

Sequential implication. Does not evaluate second operand unless first is True.

Consumers