Description
A monad for managed values.
Description
In Haskell you very often acquire values using the with...
idiom using functions of type (a -> IO r) -> IO r
. This idiom forms a Monad
, which is a special case of the ContT
monad (from transformers
) or the Codensity
monad (from kan-extensions
). The main purpose behind this package is to provide a restricted form of these monads specialized to this unusually common case.
The reason this package defines a specialized version of these types is to:
be more beginner-friendly,
simplify inferred types and error messages, and:
provide some additional type class instances that would otherwise be orphan instances