CC-delcont-ref-tf

A monad transformers for multi-prompt delimited control using refercence cells

Latest on Hackage:0.1.0.2

This package is not currently in any snapshots. If you're interested in using it, we recommend adding it to Stackage Nightly. Doing so will make builds more reliable, and allow stackage.org to host generated Haddocks.

BSD-3-Clause licensed by Oleg Kiselyov, shelarcy
Maintained by shelarcy

This library implements the superset of the interface described in * A Monadic Framework for Delimited Continuations, R. Kent Dybvig, Simon Peyton Jones, and Amr Sabry JFP, v17, N6, pp. 687--730, 2007. http://www.cs.indiana.edu/cgi-bin/techreports/TRNNN.cgi?trnum=TR615

This library is closest to the interface of Dybvig, Peyton Jones and Sabry. Control.Monad.CC.CCRef is derived from the definitional interpreter using the implementation techniques described and justified in the FLOPS 2010 paper. The monad transformer CC implemented by Control.Monad.CC.CCRef requires the base monad to support reference cells. In other words, the base monad must be a member of the type class MonadRef: that is, must be IO, ST, STM or their transformer. Control.Monad.CC.CCRef adds to the original interface the frequently used function abortP as a primitive.

See the original article at http://okmij.org/ftp/continuations/implementations.html#CC-monads for more information.

This package uses http://hackage.haskell.org/package/ref-tf's MonadRef class instead of Mutation class what is used in http://hackage.haskell.org/package/CC-delcont-ref package.