|
|
|
|
Synopsis |
|
|
|
Documentation |
|
|
The Layer data type.
A monad is constructed from a list of layers.
Each layer adds a corresponding set of non-proper
morphisms (npms) for use in the monad. The non-proper morphisms
can be thought of as the interface of the monad or
primitives in the constructed monad "language".
| Constructors | Io | The Io layer.
Adds an npm for IO operations.
| List | The List layer.
Adds an npm for expressing nondeterministic computation.
| ErrorT ErrorName TypeQ | The Error (or Exception) layer.
Adds npms for exception throwing/handling.
| StateT StateName TypeQ | The State layer.
Adds npms for the manipulation of a mutable state.
| EnvT EnvName TypeQ | The Environment layer.
Adds npms for reading/pre-setting an immutable environment.
| WriterT WriterName TypeQ | The Writer layer.
Adds npms for the production/manipulation of sequenced output.
| ContT TypeQ | The Continuation layer.
f no List layer is included in the li , then the corresponding Layer transformers are composed Adds an npm for accessing current continuation to facilate
continuation passing style programming.
| ResT MonadName | The Resumption layer.
|
|
|
|
|
|
|
|
|
|
|
|
|
Constructors | IoLayerType | | ListLayerType | | StateLayerType | | EnvLayerType | | ErrorLayerType | | WriterLayerType | | ContLayerType | | ResLayerType | |
| Instances | |
|
|
|
|
|
|
|
The monad type. Each component contains abstract
syntax of the Haskell code to implement the monad.
Components are (code for the data type, code for the return, code for the
bind, code for the non-proper morphisms, code for the monad lifting)
|
|
|
The name of monad type constructor identifier
|
|
|
The monad type constructor type.
|
|
|
Code for a monad return
|
|
|
Code for a monad bind
|
|
|
Code for a monad lifting
|
|
|
Code for a monad join
|
|
|
Code for a monad run (evaluation)
|
|
|
Code for a monad non-proper morphism
|
|
|
Monad transformer data type
|
|
|
Data type to hold a layer's non-proper morphisms
|
|
|
Type constructor accessor
|
|
|
Return accessor
|
|
|
Bind accessor
|
|
|
Layers accessor
|
|
|
Base monad lifting accessor
|
|
|
Join accessor
|
|
|
|
|
Short hand for [t| Int |], [t| Bool |], and [t| String |]
|
|
|
|
|
Definition of composition function for use in TH expressions
|
|
|
Convenience function for expressing type t -> t' in TH
|
|
Produced by Haddock version 2.4.2 |