packages feed

effin 0.1.0.0 → 0.1.0.1

raw patch · 1 files changed

+31/−4 lines, 1 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

Files

effin.cabal view
@@ -1,17 +1,44 @@ name:                effin-version:             0.1.0.0+version:             0.1.0.1 synopsis:            A Typeable-free implementation of extensible effects-description:         A Typeable-free implementation of extensible effects homepage:            https://github.com/YellPika/effin license:             BSD3 license-file:        LICENSE author:              Anthony Vandikas maintainer:          yellpika@gmail.com copyright:           (c) 2014 Anthony Vandikas-category:            Control+category:            Control, Effect build-type:          Simple--- extra-source-files: cabal-version:       >=1.10+description:+  This package implements extensible effects, and alternative to monad+  transformers. The original paper can be found at+  <http://okmij.org/ftp/Haskell/extensible/exteff.pdf>. The main differences+  between this library and the one described in the paper are that this library+  does not use the Typeable type class, and has a simpler API for handling+  effects.+  .+  For example, the following code implements a handler for exceptions:+  .+  > runException :: Effect (Exception e ': es) a -> Effect es (Either e a)+  > runException =+  >     handle (\x -> return (Right x))+  >     $ eliminate (\(Exception e) -> return (Left e))+  >     $ defaultRelay+  .+  Compare this to the corresponding code in extensible-effects:+  .+  > runExc :: Typeable e => Eff (Exc e :> r) a -> Eff r (Either e a)+  > runExc = loop . admin+  >   where+  >     loop (Val x) = return (Right x)+  >     loop (E u)   = handleRelay u loop (\(Exc e) -> return (Left e))+  .+  In particular:+  .+  * Effect implementors are not required to do any recursion.+  .+  * The functions for writing effect handlers can be easily composed.  flag mtl   description: Enable MTL support