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.

Instances

Overloaded parallel operators

class Coolean b where Source #

Provides better interoperability between Bool and Cool by overloading operators.

Minimal complete definition

toCool, toBool, isCool

Methods

toCool :: b -> Cool Source #

toBool :: b -> Bool Source #

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

Instances

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

data Sched Source #

Constructors

Flip Bool Sched Sched 
Unsched 

Instances

Eq Sched Source # 

Methods

(==) :: Sched -> Sched -> Bool #

(/=) :: Sched -> Sched -> Bool #

Show Sched Source # 

Methods

showsPrec :: Int -> Sched -> ShowS #

show :: Sched -> String #

showList :: [Sched] -> ShowS #