Implement monads by specifying instructions and their desired operational semantics.
Haskell
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
doc
src/Control/Monad
.gitignore
.travis.yml Add Travis support. May 11, 2014
CHANGELOG.md
LICENSE
Readme.md
Setup.hs
operational.cabal

Readme.md

Operational is a tiny library for implementing monads by specifying the primitive instructions and their operational semantics. The monad laws will hold automatically. It can also be used to define monad transformers, and the lifting laws are, again, automatic.

It is based on the article The Operational Monad Tutorial, published in Issue 15 of The Monad.Reader.

For more, see the project website.


Sources and inspiration for this library include Chuan-kai Lin's unimo paper, John Hughes 95, and Ryan Ingram's MonadPrompt package.