free-operational: Operational Applicative, Alternative, Monad and MonadPlus, built with 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.1), mtl (>=2.1), 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-05-07T10:40:00Z
Distributions NixOS:
Downloads 3327 total (25 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]




Maintainer's Corner

For package maintainers and hackage trustees