deriving-trans-0.7.0.0: deriving-trans.cabal
cabal-version: 3.0
name: deriving-trans
version: 0.7.0.0
synopsis: Derive instances for monad transformer stacks
description:
Implementing instances for monad transformer stacks can be tedious.
<https://hackage.haskell.org/package/mtl 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.
license: BSD-3-Clause
license-file: LICENSE
author: Felix Springer
maintainer: felixspringer149@gmail.com
homepage: https://github.com/jumper149/deriving-trans
bug-reports: https://github.com/jumper149/deriving-trans/issues
category: Control
build-type: Simple
extra-source-files: CHANGELOG.md
flag exceptions
default: True
description:
Implement instances for 'MonadThrow' and 'MonadCatch'.
flag mtl
default: True
description:
Implement instances for mtl's type classes.
flag primitive
default: True
description:
Implement instances for `PrimMonad`.
flag random
default: True
description:
Implement instances for random's type classes.
flag resourcet
default: True
description:
Implement instances for `MonadResource`.
flag unliftio
default: True
description:
Implement instances for 'MonadUnliftIO'.
library
exposed-modules:
Control.Monad.Trans.Compose
Control.Monad.Trans.Compose.Infix
Control.Monad.Trans.Compose.Stack
Control.Monad.Trans.Compose.Transparent
Control.Monad.Trans.Elevator
build-depends:
, base >= 4.16.1.0 && < 5
, monad-control
, monad-control-identity
, transformers >= 0.6
, transformers-base
if flag(exceptions)
build-depends:
, exceptions >= 0.10.5
if flag(mtl)
other-modules:
Control.Monad.Accum.OrphanInstances
Control.Monad.Select.OrphanInstances
build-depends:
, mtl >= 2.3
if flag(primitive)
build-depends:
, primitive
if flag(random)
build-depends:
, random >= 1.2
if flag(resourcet)
build-depends:
, resourcet >= 1.2
if flag(unliftio)
build-depends:
, unliftio-core
hs-source-dirs: src
default-language: GHC2021
default-extensions:
DataKinds
DerivingStrategies
DerivingVia
FunctionalDependencies
OverloadedStrings
TypeFamilies
UnboxedTuples
ghc-options:
-Weverything
-Wno-implicit-prelude
-Wno-missing-kind-signatures
-Wno-missing-export-lists
-Wno-missing-import-lists
-Wno-missing-safe-haskell-mode
-Wno-unsafe