extensible-effects-2.0.1.0: An Alternative to Monad Transformers
Control.Eff.Operational.Example
Description
Example usage of Control.Eff.Operational.
Synopsis
data Jail a where Source #
Define data using GADTs.
Constructors
prog :: Member (Program Jail) r => Eff r () Source #
adventIO :: SetMember Lift (Lift IO) r => Jail a -> Eff r a Source #
Then, implements interpreters from the data to effects.
adventPure :: (Member (Writer String) r, Member (State [String]) r) => Jail a -> Eff r a Source #