Copyright | Alej Cabrera 2015 |
---|---|
License | BSD-3 |
Maintainer | cpp.cabrera@gmail.com |
Stability | experimental |
Portability | POSIX |
Safe Haskell | None |
Language | Haskell2010 |
- class Member' t r (FindElem t r) => Member t r
- type family Members m r :: Constraint
- data Eff r a
- run :: Eff `[]` w -> w
- send :: Member t r => t v -> Eff r v
- data NonDetEff a where
- makeChoiceA :: Alternative f => Eff (NonDetEff : r) a -> Eff r (f a)
- msplit :: Member NonDetEff r => Eff r a -> Eff r (Maybe (a, Eff r a))
Documentation
type family Members m r :: Constraint Source
The Eff representation.
Status of a coroutine (client): * Val: Done with the value of type a * E : Sending a request of type Union r with the continuation Arrs r b a
Runs a set of Effects. Requires that all effects are consumed. Typically composed as follows: > run . runEff1 eff1Arg . runEff2 eff2Arg1 eff2Arg2 (program)
A data type for representing nondeterminstic choice
makeChoiceA :: Alternative f => Eff (NonDetEff : r) a -> Eff r (f a) Source
A handler for nondeterminstic effects