extensible-effects: An Alternative to Monad Transformers

This is a package candidate release! Here you can preview how this package release will appear once published to the main package index (which can be accomplished via the 'maintain' link below). Please note that once a package has been published to the main package index it cannot be undone! Please consult the package uploading documentation for more information.

[maintain]

This package introduces datatypes for typeclass-constrained effects, as an alternative to monad-transformer based (datatype-constrained) approach of multi-layered effects. For more information, see the original paper at http://okmij.org/ftp/Haskell/extensible/exteff.pdf. Any help is appreciated!


[Skip to ReadMe]

Properties

Versions1.0, 1.1.0, 1.2.0, 1.2.1, 1.4.1, 1.5.0, 1.6.0, 1.7.1, 1.7.1.0, 1.7.1.1, 1.7.1.2, 1.7.2.1, 1.8.0.0, 1.8.1.0, 1.9.0.0, 1.9.0.1, 1.9.1.0, 1.9.2.2, 1.10.0.1, 1.11.0.0, 1.11.0.1, 1.11.0.2, 1.11.0.3, 1.11.0.4, 1.11.1.0, 2.0.0.0, 2.0.0.1, 2.0.0.2, 2.0.1.0, 2.1.0.0, 2.2.1.0, 2.3.0.0, 2.3.0.1, 2.4.0.0, 2.5.0.0, 2.5.1.0, 2.5.1.2, 2.5.2.0, 2.5.3.0, 2.6.0.0, 2.6.0.1, 2.6.0.2, 2.6.0.3, 2.6.1.0, 2.6.1.1, 2.6.2.0, 2.6.3.0, 3.0.0.0, 3.1.0.0, 3.1.0.1, 3.1.0.2
Change logNone available
Dependenciesbase (>=4.6 && <5), transformers (>=0.3 && <0.6), transformers-base (==0.4.*), type-aligned (>=0.9.3) [details]
LicenseMIT
AuthorOleg Kiselyov, Amr Sabry, Cameron Swords, Ben Foppa
Maintainersuhailshergill@gmail.com
CategoryControl, Effect
Home pagehttps://github.com/suhailshergill/extensible-effects
Source repositoryhead: git clone https://github.com/suhailshergill/extensible-effects.git
UploadedSun Nov 19 07:50:17 UTC 2017 by shergill

Modules

Flags

NameDescriptionDefaultType
lib-werrorDisabledManual
force-openunion-51

Force usage of OpenUnion51.hs implementation

EnabledManual

Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info

Downloads

Maintainers' corner

For package maintainers and hackage trustees


Readme for extensible-effects-2.0.0.1

[back to package description]

extensible-effects is based on the work Extensible Effects: An Alternative to Monad Transformers. Please read the paper and the followup freer paper for details. Additional explanation behind the approach can be found on Oleg's website.

Build Status Join the chat at <a href="https://gitter.im/suhailshergill/extensible-effects">https://gitter.im/suhailshergill/extensible-effects</a> Stories in Ready Stories in progress

Advantages

Disadvantages

Current implementation only supports GHC version 7.8 and above

Ambiguity-Flexibility tradeoff