Package maintainers and Hackage trustees are allowed to edit certain bits
of package metadata after a release, without uploading a new tarball.
Note that the tarball itself is never changed, just the metadata that is
stored separately. For more information about metadata revisions, please
refer to the
Hackage Metadata Revisions FAQ.
No. |
Time |
User |
SHA256 |
-r1 (effect-handlers-0.1.0.0-r1) |
2015-01-08T17:51:50Z |
edofic |
d4cd21c986a362ab43fe8f160024d1a2e12baf8363699061f984cd211abffc64
|
|
Changed description
from This is an extensible effects library for Haskell taking inspiration from the Eff language <http://www.eff-lang.org/>.
See these papers for the ideas and theory behind the library:
- O. Kammar et al: Handlers in Action! <http://homepages.inf.ed.ac.uk/slindley/papers/handlers.pdf>
- A. Bauer, M. Pretnar: Programming with Algebraic Effects and Handlers <http://arxiv.org/abs/1203.1539>
- O Kiselyov, A Sabry, C Swords: Extensible Effects <http://dl.acm.org/citation.cfm?id=2503791>
Implementation wise it's most close to @extensible-effects@ <http://hackage.haskell.org/package/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
v <- ask
if v < 15
then throw $ show v
else return (v+1)
run n = runPure . handle exceptionHandler . handle (readerHandler n)
res :: Integer -> Either String Integer
res n = run n program
@
to This is an extensible effects library for Haskell taking inspiration from the Eff language <http://www.eff-lang.org/>.
See these papers for the ideas and theory behind the library:
- O. Kammar et al: Handlers in Action! <http://homepages.inf.ed.ac.uk/slindley/papers/handlers.pdf>
- A. Bauer, M. Pretnar: Programming with Algebraic Effects and Handlers <http://arxiv.org/abs/1203.1539>
- O Kiselyov, A Sabry, C Swords: Extensible Effects <http://dl.acm.org/citation.cfm?id=2503791>
Implementation wise it's most close to @extensible-effects@ <http://hackage.haskell.org/package/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
  v <- ask
  if v < 15
  then throw $ show v
  else return (v+1)
run n = runPure . handle exceptionHandler . handle (readerHandler n)
res :: Integer -> Either String Integer
res n = run n program
@
|
-r0 (effect-handlers-0.1.0.0-r0) |
2015-01-08T17:47:58Z |
edofic |
44ea84efabe090fb23a366ac006372cf9402c7b40183abb4446430703e6e378f
|
|
|