CC-delcont-cxe

A monad transformers for multi-prompt delimited control

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
Maintained by shelarcy

Oleg Kiselyov's three new monad transformers for multi-prompt delimited control (released with his permission)

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's Control.Monad.CC.CCCxe is derived as a CPS version of http://hackage.haskell.org/package/CC-delcont-exc's Control.Monad.CC.CCExc. Control.Monad.CC.CCCxe is sometimes more efficient; it is always less perspicuous. Both libraries provide the identical interface and are interchangeable. It seems that CC-delcont-exc's Control.Monad.CC.CCExc is faster at delimited control but imposes more overhead on the conventional code; Control.Monad.CC.CCCxe is dual. It pays to use Control.Monad.CC.CCCxe in code with long stretches of determinism punctuated by fits and restarts.

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

This package split multi-prompt delimited control from http://hackage.haskell.org/package/liboleg for usability.