@hackage free-operational0.5.0.0

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

A reimplementation of the operational package (http://hackage.haskell.org/package/operational) using free monads (from http://hackage.haskell.org/package/free). 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.