operational

Implementation of difficult monads made easy with operational semantics.

http://wiki.haskell.org/Operational

Version on this page:0.2.3.5
LTS Haskell 22.13:0.2.4.2@rev:1
Stackage Nightly 2024-03-14:0.2.4.2@rev:1
Latest on Hackage:0.2.4.2@rev:1

See all snapshots operational appears in

BSD-3-Clause licensed by Heinrich Apfelmus
Maintained by Heinrich Apfelmus <apfelmus quantentunnel de>
This version can be pinned in stack with:operational-0.2.3.5@sha256:11d2de26a264d71a67ebb886d592fda05ef6b6daa3926908f1d42b8bf0f50d05,2490

Module documentation for 0.2.3.5

This library makes it easy to implement monads with tricky control flow.

This is useful for: writing web applications in a sequential style, programming games with a uniform interface for human and AI players and easy replay capababilities, implementing fast parser monads, designing monadic DSLs, etc.

See the project homepage http://wiki.haskell.org/Operational for a more detailed introduction and features.

Related packages:

Changes

Changelog for the operational package

0.2.3.5 – Maintenance release.

  • Update references to other packages.
  • Modernize .cabal file.

0.2.3.4 – Maintenance release.

  • Restrict dependencies to ensure GHC >= 7.2.

0.2.3.3 – Maintenance release.

  • Minor fixes to documentation and examples

0.2.3.2 – Maintenance release.

  • Bump mtl dependency to allow 2.3

0.2.3.1 – Maintenance release.

  • Bump mtl dependency to allow 2.2

0.2.3.0 – Maintenance release.

  • added instance for MonadReader class
  • clean up documentation

0.2.2.0 – Feature release.

  • add utility function interpretWithMonad

0.2.1.0 – Maintenance release.

  • minor change: eta-reduce Program and ProgramView type synonyms

0.2.0.3 – Maintenance release.

  • moved project repository to github

0.2.0.0 – Feature release.

  • 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

0.1.0.0

  • initial release