| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Prog
Description
An encoding for algebraic effects, based on the freer monad.
Effectful program
A program that returns a value of type a and can call operations that belong to some effect
e in signature es; this represents a syntax tree whose nodes are operations and leaves are pure values.
data EffectSum (es :: [* -> *]) (x :: *) :: * Source #
An open sum for an effect signature es, containing an operation e x where e is in es
class FindElem e es => Member (e :: * -> *) (es :: [* -> *]) where Source #
Membership of an effect e in es