Control.Monad.Freer

Effect Monad

data Eff effs a

Effect Constraints

class Member eff effs

type family Members effs effs' :: Constraint where ...

class LastMember m effs

Sending Arbitrary Effects

send

sendM

Lifting Effect Stacks

raise

Handling Effects

Running the Eff monad

run

runM

Building Effect Handlers

Basic effect handlers

interpret

interpose

Derived effect handlers

reinterpret

reinterpret2

reinterpret3

reinterpretN

translate

Monadic effect handlers

interpretM

Advanced effect handlers

interpretWith

interposeWith