operational

Implementation of difficult monads made easy with operational semantics.

http://wiki.haskell.org/Operational

Version on this page:0.2.4.2
LTS Haskell 22.29:0.2.4.2@rev:1
Stackage Nightly 2024-07-17: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.4.2@sha256:7ffd456433b2d76eec4326355ec3184749045b90f59bf60066ac1a9c65607cf2,2669

Module documentation for 0.2.4.2

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.4.2 – Maintenance release.

  • Compatibility with mtl-2.3.1

0.2.4.1 – Maintenance release.

  • Restrict dependencies to ensure GHC >= 7.10.

0.2.4.0 – Feature release.

  • Update to build with GHC 9.0.1.
  • Add utility functions interpretWithMonadT, unviewT and mapInstr
  • Add utility Functor, Applicative, and Monad instances for ProgramViewT type.

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