Package Info


A library for writing extensible algebraic effects and handlers. Similar to extensible-effects but with deep handlers


This is an extensible effects library for Haskell taking inspiration from the Eff language <>.

See these papers for the ideas and theory behind the library:

  • O. Kammar et al: Handlers in Action!

<> - A. Bauer, M. Pretnar: Programming with Algebraic Effects and Handlers <> - O Kiselyov, A Sabry, C Swords: Extensible Effects <>

Implementation wise it's most close to 'extensible-effects' <> (also see the Extensible Effects paper) but it implements deep handlers instead of shallow.

' import Control.Effects.Cont.Eff import Control.Effects.Cont.Reader import Control.Effects.Cont.Exception

program = do &#32;&#32;v <- ask &#32;&#32;if v < 15 &#32;&#32;then throw $ show v &#32;&#32;else return (v+1)

run n = runPure . handle exceptionHandler . handle (readerHandler n)

res :: Integer -> Either String Integer res n = run n program '.

License: MIT



Package Version Update ID Released Package Hub Version Platforms Subpackages info GA Release 2018-07-30 15
  • AArch64
  • ppc64le
  • x86-64
  • ghc-effect-handlers
  • ghc-effect-handlers-devel