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.
Changes
Revision history for deriving-trans
0.5.2.0 17 Jan 2023
Add optional dependency primitive.
Add MonadPrim instances to Elevator and ComposeT.
0.5.1.0 11 Jan 2023
Introduce cabal flags exceptions, mtl and unliftio.
These flags enable the dependency on additional optional packages, to reduce the requirement of orphan instances.
Add MonadUnliftIO instances to Elevator and ComposeT.
Add MonadThrow and MonadCatch instances to Elevator and ComposeT.
Add MonadThrow and MonadCatch “base-case” instances for CatchT to ComposeT.