deriving-trans-0.5.2.0: deriving-trans.cabal
cabal-version: 3.0
name: deriving-trans
version: 0.5.2.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 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
--other-modules:
build-depends:
, base < 5
, monad-control
, monad-control-identity
, transformers
, transformers-base
if flag(exceptions)
build-depends:
, exceptions
if flag(mtl)
build-depends:
, mtl
if flag(primitive)
build-depends:
, primitive
if flag(unliftio)
build-depends:
, unliftio-core
hs-source-dirs: src
default-language: Haskell2010
default-extensions:
BangPatterns
ConstraintKinds
DataKinds
DeriveFoldable
DeriveFunctor
DeriveGeneric
DeriveTraversable
DerivingStrategies
DerivingVia
EmptyDataDeriving
FlexibleContexts
FlexibleInstances
FunctionalDependencies
GeneralizedNewtypeDeriving
MultiParamTypeClasses
NamedFieldPuns
OverloadedStrings
RankNTypes
StandaloneDeriving
StandaloneKindSignatures
TupleSections
TypeApplications
TypeFamilies
TypeOperators
ghc-options:
-Wall
-Wunused-packages