Control.Eff.Operational.Example
Description
Example usage of Control.Eff.Operational.
data Jail a where Source #
Define data using GADTs.
Constructors
prog :: forall (r :: [Type -> Type]). Member (Program Jail) r => Eff r () Source #
adventIO :: forall (r :: [Type -> Type]) a. Lifted IO r => Jail a -> Eff r a Source #
Then, implements interpreters from the data to effects.
adventPure :: forall (r :: [Type -> Type]) a. '[Writer String, State [String]] <:: r => Jail a -> Eff r a Source #