[Haskell] ANN: operational-

Heinrich Apfelmus apfelmus at quantentunnel.de
Mon Apr 26 10:35:47 EDT 2010

Dear Haskellers,

I'm pleased to announce the *release* of  operational- , a tiny
library for implementing monads by specifying their operational semantics.

This library is based on "The Operational Monad Tutorial", first
published in Issue 15 on The Monad.Reader.


The *main abstraction* is a type  Program  corresponding to a list of
primitive instructions which are then interpreted with operational
semantics given by the user; the monad laws hold automatically. Monad
transformers can also be implemented and will automatically satisfy the
lifting laws.

The library comes with *excessive documentation*, including a proof of
the monad laws. Elaborate example code demonstrates previously difficult
to implement monads, like a CGI monad that models a web session but does
not require the CGI script to run in a persistent process. The newest
addition is a program for playing tic-tac-toe that demonstrates a monad
for implementing different players, like humans or AI.

*Get it* from hackage


or browse the project website and documentation


version -> version

* changed name of view type to `ProgramView`
* added instances for  mtl  classes
* new function `liftProgram` to embed `Program` in `ProgramT`

* new example  TicTacToe.hs
* various documentation updates

Heinrich Apfelmus


More information about the Haskell mailing list