Safe Haskell | None |
---|---|
Language | Haskell2010 |
Proper documentation is TBD
Synopsis
- 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
class Coolean b where Source #
Provides better interoperability between Bool and Cool by overloading operators.
Instances
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.