effect-monad: Embeds effect systems and program logics into Haskell using graded monads and parameterised monads

[ bsd3, control, library, monads ] [ Propose Tags ]

Provides the graded monad structure to Haskell via Control.Effect with a number of analogs of familiar monads and some new things: Reader, Writer, State, Maybe, Counter, Update and a wrapper over normal monads (Control.Effect.Monad). This provides a way to embed effect systems into Haskell. For more information see the paper "Embedding effect systems in Haskell" by Orchard and Petricek http://dorchard.co.uk/publ/haskell14-effects.pdf (Haskell, 2014) Also provides the parameterised monad structure due to Atkey in Control.Effect.Parameterised along with some instances: AtomicState, SafeFiles, ExtensibleState and the examples in https://github.com/dorchard/effect-monad/tree/master/examples. (note, this package was previously called ixmonad until September 2014).

Versions 0.6, 0.6.1, 0.7.0.0, 0.8.0.0, 0.8.1.0
Dependencies base (<5), type-level-sets (>=0.8.7.0) [details]
License BSD-3-Clause
Copyright 2013-18 University of Kent
Author Dominic Orchard
Maintainer Dominic Orchard
Category Control, Monads
Source repo head: git clone https://github.com/dorchard/effect-monad
Uploaded by DominicOrchard at Wed Jan 24 16:19:35 UTC 2018
Distributions NixOS:0.8.1.0
Downloads 2109 total (13 in the last 30 days)
Rating 2.0 (votes: 1) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2018-01-24 [all 1 reports]
Hackage Matrix CI

Modules

[Index]

Downloads

Maintainer's Corner

For package maintainers and hackage trustees