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

Data.Coolean

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
 Source # Instance detailsDefined in Data.Coolean MethodsshowsPrec :: Int -> Cool -> ShowS #show :: Cool -> String #showList :: [Cool] -> ShowS # Source # Instance detailsDefined in Data.Coolean MethodsisCool :: (a -> Cool) -> Bool Source #

class Coolean b where Source #

Methods

toCool :: b -> Cool Source #

toBool :: b -> Bool Source #

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

Instances
 Source # Instance detailsDefined in Data.Coolean MethodsisCool :: (a -> Bool) -> Bool Source # Source # Instance detailsDefined in Data.Coolean MethodsisCool :: (a -> Cool) -> 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 infixr 0 Source #

Parallel implication

(!&&) :: (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
 Source # Instance detailsDefined in Data.Coolean Methods(==) :: Sched -> Sched -> Bool #(/=) :: Sched -> Sched -> Bool # Source # Instance detailsDefined in Data.Coolean MethodsshowsPrec :: Int -> Sched -> ShowS #show :: Sched -> String #showList :: [Sched] -> ShowS #