Safe Haskell | None |
---|---|
Language | Haskell2010 |
Proper documentation is TBD
- data Cool
- class Coolean b where
- true :: Cool
- false :: Cool
- nott :: Coolean a => a -> Cool
- (&&&) :: (Coolean a, Coolean b) => a -> b -> Cool
- (|||) :: (Coolean a, Coolean b) => a -> b -> Cool
- (==>) :: (Coolean a, Coolean b) => a -> b -> Cool
- (!&&) :: (Coolean a, Coolean b) => a -> b -> Cool
- (!||) :: (Coolean a, Coolean b) => a -> b -> Cool
- (!=>) :: (Coolean a, Coolean b) => a -> b -> Cool
- data Sched
- sched0 :: Sched
- run :: Sched -> Cool -> Bool
- lookahead :: Sched -> Cool -> (Sched, Bool)
- par :: Sched -> Cool -> (Sched, Bool)
- subsetsc :: IO Int -> Sched -> Cool -> IO (Sched, Bool)
Documentation
Concurrent booleans. Writing properties with the Cool data type often yields faster searches compared to Bool.
Overloaded parallel operators
Provides better interoperability between Bool and Cool by overloading operators.
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.