@hackage deriving-trans0.8.0.0

Derive instances for monad transformer stacks

  • Installation

  • Dependencies (11)

  • Dependents (0)

  • Package Flags

      exceptions
       (on by default)

      Implement instances for MonadThrow and MonadCatch.

      mtl
       (on by default)

      Implement instances for mtl's type classes.

      primitive
       (on by default)

      Implement instances for PrimMonad.

      random
       (on by default)

      Implement instances for random's type classes.

      resourcet
       (on by default)

      Implement instances for MonadResource.

      unliftio
       (on by default)

      Implement instances for MonadUnliftIO.

Implementing instances for monad transformer stacks can be tedious. mtl defines each instance for each transfomer, but this can be avoided.

Elevator let's you access instances of the underlying monad of a transformer. Composing transformers with ComposeT brings instances into scope during the initialization of a transformer stack.

Elevator can be used with DerivingVia to select a specific transformer to derive instances for a transformer stack. ComposeT composes transformers and accumulates instances in a transformer stack.