extensible-effects-1.11.0.1: 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 :: (Member (Lift IO) r, 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