dep-t-advice-0.5.1.0: dep-t-advice.cabal
cabal-version: 3.0
name: dep-t-advice
version: 0.5.1.0
synopsis: Giving good advice to functions in records-of-functions.
description:
Companion to the dep-t package. Easily add behaviour to
functions living in a record-of-functions, whatever the
number of arguments they might have.
In other words: something like the "advices" of
aspect-oriented programming.
Two flavors of advice are provided: one for environments
parameterized by the DepT monad, and a simpler version for
environments parameterized by IO and other monads.
-- bug-reports:
license: BSD-3-Clause
license-file: LICENSE
author: Daniel Diaz
maintainer: diaz_carrete@yahoo.com
category: Control
extra-source-files: CHANGELOG.md, README.md
source-repository head
type: git
location: https://github.com/danidiaz/dep-t-advice.git
common common
build-depends: base >=4.10.0.0 && < 5,
sop-core ^>= 0.5.0.0,
transformers ^>= 0.5.0.0,
dep-t >= 0.5.1.0 && < 0.6,
mtl ^>= 2.2,
unliftio-core ^>= 0.2.0.0,
default-language: Haskell2010
common common-tests
import: common
build-depends:
dep-t-advice,
rank2classes ^>= 1.4.1,
-- transformers ^>= 0.5.0.0,
-- mtl ^>= 2.2,
template-haskell,
text,
common common-tasty
import: common-tests
hs-source-dirs: test
build-depends:
tasty >= 1.3.1,
tasty-hunit >= 0.10.0.2,
library
import: common
exposed-modules: Dep.Advice
Dep.Advice.Basic
Dep.SimpleAdvice
Dep.SimpleAdvice.Basic
-- deprecated
Control.Monad.Dep.Advice
Control.Monad.Dep.Advice.Basic
Control.Monad.Dep.SimpleAdvice
Control.Monad.Dep.SimpleAdvice.Basic
other-modules: Dep.SimpleAdvice.Internal
hs-source-dirs: lib
test-suite tests
import: common-tasty
type: exitcode-stdio-1.0
main-is: tests.hs
test-suite weird-advice-tests
import: common-tasty
type: exitcode-stdio-1.0
main-is: weird-advice-tests.hs
build-depends:
barbies ^>= 2.0.2.0
test-suite simple-advice-tests
import: common-tasty
type: exitcode-stdio-1.0
main-is: simple-advice-tests.hs
build-depends:
barbies ^>= 2.0.2.0
test-suite tests-has-conversion
import: common-tasty
type: exitcode-stdio-1.0
main-is: tests-has-conversion.hs
build-depends: aeson,
containers
test-suite synthetic-callstack-tests
import: common-tasty
type: exitcode-stdio-1.0
main-is: synthetic-callstack-tests.hs
build-depends: aeson,
containers,
microlens ^>= 0.4.12.0
-- VERY IMPORTANT for doctests to work: https://stackoverflow.com/a/58027909/1364288
-- http://hackage.haskell.org/package/cabal-doctest
test-suite doctests
import: common-tests
ghc-options: -threaded
type: exitcode-stdio-1.0
hs-source-dirs: test
main-is: doctests.hs
build-depends:
doctest ^>= 0.18
-- https://cabal.readthedocs.io/en/3.4/cabal-package.html#benchmarks
benchmark benchmark
import: common-tests,
type: exitcode-stdio-1.0
ghc-options: -O2
hs-source-dirs: benchmark
main-is: benchmarks.hs
build-depends:
criterion ^>= 1.5,