0 | module Control.EffectAlgebra
2 | import public Control.HigherOrder
3 | import public Control.Effect.Misc
7 | interface Monad m => Algebra sig m | m where
8 | constructor MkAlgebra
9 | alg : (f : Functor ctx)
17 | send : Inj eff sig => Algebra sig m => eff m a -> m a
18 | send eff = alg {ctx = id} () id (inj eff)