Operational Applicative, Alternative, Monad and MonadPlus from free types.

Latest on Hackage:

This package is not currently in any snapshots. If you're interested in using it, we recommend adding it to Stackage Nightly. Doing so will make builds more reliable, and allow to host generated Haddocks.

BSD3 licensed by Luis Casillas
Maintained by

A reimplementation of the operational package ( using free monads (from This implements ideas discussed here:

To understand the basic concepts you can do no better than read Heinrich Apfelmus' operational tutorial:

In addition to that, this package supplies operational-style modules for Applicative, Alternative and MonadPlus. Applicative and Alternative programs easily admit of static analysis. See these references for discussion and examples:

See Control.Applicative.Operational for the bulk of the documentation. Control.Alternative.Operational also has some significant examples.

Used by 1 package:
comments powered byDisqus