freer-simple-1.2.1.2: A friendly effect system for Haskell.
An implementation of an effect system for Haskell (a fork of freer-effects ), which is based on the work of Oleg Kiselyov et al.:
The key features are:
- An efficient effect system for Haskell - as a library!
- Reimplementations of several common Haskell monad transformers as effects.
- Core components for defining your own Effects.
-
Control
-
Monad
-
Control.Monad.Freer
Freer - an extensible effects library
- Control.Monad.Freer.Coroutine Composable coroutine effects layer.
- Control.Monad.Freer.Error An Error effect and handler.
- Control.Monad.Freer.Fresh Generation of fresh integers as an effect.
- Control.Monad.Freer.Internal Mechanisms to make effects work.
- Control.Monad.Freer.NonDet Non deterministic effects
- Control.Monad.Freer.Reader Reader effects, for encapsulating an environment.
- Control.Monad.Freer.State State effects, for state-carrying computations.
- Control.Monad.Freer.TH
- Control.Monad.Freer.Trace Composable Trace effects.
- Control.Monad.Freer.Writer Composable Writer effects.
-
Control.Monad.Freer
Freer - an extensible effects library
-
Monad
-
Data
- Data.FTCQueue Fast type-aligned queue optimized to effectful functions.
-
Data.OpenUnion
Open unions (type-indexed co-products) for extensible effects.
- Data.OpenUnion.Internal Open unions (type-indexed co-products) for extensible effects.