managed

A monad for managed values

Version on this page:1.0.6
LTS Haskell 22.14:1.0.10
Stackage Nightly 2024-03-28:1.0.10
Latest on Hackage:1.0.10

See all snapshots managed appears in

BSD-3-Clause licensed by Gabriel Gonzalez
Maintained by [email protected]
This version can be pinned in stack with:managed-1.0.6@sha256:1da884195081d70b6bec475db985017431eb42564bf648ad6968640ddafe25b0,1535

Module documentation for 1.0.6

  • Control
    • Control.Monad
      • Control.Monad.Managed
        • Control.Monad.Managed.Safe
Depends on 2 packages(full list with versions):
Used by 1 package in nightly-2018-07-18(full list with versions):

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