free-operational: Operational Applicative, Alternative, Monad and MonadPlus from free types.

[ bsd3, control, library ] [ Propose Tags ]

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.

Versions [RSS] [faq],,,
Dependencies base (==4.*), comonad-transformers (>=3.0), free (>=3.3), kan-extensions (==3.7.*), mtl (>=2), transformers (>=0.3) [details]
License BSD-3-Clause
Copyright 2013 Luis Casillas
Author Luis Casillas
Category Control
Bug tracker
Source repo head: git clone
Uploaded by LuisCasillas at 2013-08-08T05:46:22Z
Distributions NixOS:
Downloads 3295 total (18 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs uploaded by user
Build status unknown [no reports yet]



Manual Flags

Automatic Flags

Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info


Maintainer's Corner

For package maintainers and hackage trustees