MonadEx v1.0.2

Modules summary

Curry

Simple module for currying functions

Monad.Behaviour

A behaviour that provides the common code for monads

Monad.Maybe

A monad that represents something or nothing

Monad.Operators

Convenient, but optional, operators for working with Functors, Applicatives, and Monads

Monad.Reader

The reader monad is great for situations when you need to share some environment or state between several operations

Monad.Result

A monad that represents success and failure conditions

Monad.State

Like Monad.Reader, the state monad can share an environment between different operations. Additionally, it can store an arbitrary value

Monad.Writer

The writer monad keeps track of a calculation and a “log”

Protocols summary

Applicative

Applicative functors, or applicatives for short, are like functors, except they can apply more than one parameter. They do so by currying the function, and applying one parameter at a time (see Curry)

Functor

Functors are mappings or homomorphisms between categories –Wikipedia

Monad

Monads are structures that represent computations as sequences of steps. –Wikipedia

Monoid

Monoids have two principle operations: empty/zero and append