Control.Monad.Run

Monad algebras

data MaybeAlg a b

data ErrorAlg e a b

data ListAlg a b

data StateAlg s a b

Running monads

class MonadRun s m

mrun

Unlifting monad transformers

class MonadUnTrans s t

Monadic choice combinators that confine the partiality effect

Monadic choice

mplus'

mswitch

mayswitch

Monadic function choice

mchoice'

mchoices

Implementation variants

mswitch0

mswitch1

mswitch'