I have just released Control.Effects v0.2 on Hackage. It is an implementation of effects, like in the the Eff language by Andrej Bauer and Matija Pretnar. Effects can be used instead of monad transformers.

The implementation is using a stack of continuation monad transformers on top of a base monad. Using some MPTC hackery, lifting is done automatically.

Initial performance tests look promising. The generated Core of simple examples is very clean. A breadth-first-search of Pythagorean triples performed twice as fast and with a quarter of the memory compared to code by Oleg Kiselyov! (http://okmij.org/ftp/continuations/Searches.hs)

Here is some sample code: https://github.com/sjoerdvisscher/effects/blob/master/examples.hs
Shared publiclyView activity