packages feed

ffunctor-1.2.0: ffunctor.cabal

cabal-version:       2.2
name:                ffunctor
version:             1.2.0
synopsis:            FFunctor typeclass
license:             BSD-3-Clause
license-file:        LICENSE
author:              Sam Halliday
maintainer:          Sam Halliday
copyright:           2019 Sam Halliday
bug-reports:         https://gitlab.com/fommil/ffunctor/merge_requests
tested-with:         GHC ^>= 8.4.4 || ^>= 8.6.3
category:            Constraints
description:
  Micro library with a Higher Kinded Functor in the spirit of HFunctor,
  MFunctor and MonadTrans (which all have different kindedness).
  .
  Useful to map over the type parameter in a record of
  functions, e.g. https://www.benjamin.pizza/posts/2017-12-15-functor-functors.html
  and https://discourse.haskell.org/t/local-capabilities-with-mtl/231
  and https://discourse.haskell.org/t/some-limits-of-mtl-with-records-of-functions/576

source-repository head
  type: git
  location: https://gitlab.com/fommil/ffunctor

flag transformers
  description: Compile with transformers utilities
  manual: True
  default: True

common deps
  build-depends:    , base ^>= 4.11.1.0 || ^>= 4.12.0.0
  ghc-options:        -Wall
                      -Werror=missing-home-modules
  default-language:   Haskell2010

library
  import:             deps
  hs-source-dirs:     library
  exposed-modules:    Data.FFunctor
  if flag(transformers)
    build-depends:  , transformers
    cpp-options:      -DHAVE_TRANSFORMERS

test-suite            tests
  import:             deps
  hs-source-dirs:     test
  type:               exitcode-stdio-1.0
  main-is:            Driver.hs
  other-modules:      Data.FFunctor.ServantTest
                    , Data.FFunctor.TracingTest
  build-depends:    , ffunctor
                    , aeson            ^>= 1.4.1.0
                    , exceptions       ^>= 0.10.1
                    , mtl              ^>= 2.2.2
                    , generic-lens     ^>= 1.1.0.0
                    , http-client      ^>= 0.5.12
                    , servant          ^>= 0.14.1
                    , servant-client   ^>= 0.14
                    , tasty            ^>= 1.2.1
                    , tasty-hspec      ^>= 1.1.5
                    , tasty-quickcheck ^>= 0.10
                    , time             ^>= 1.8.0.2
                    , universum        ^>= 1.5.0
  build-tool-depends: tasty-discover:tasty-discover ^>= 4.2.1
  ghc-options: -threaded