name: capability
version: 0.5.0.1
homepage: https://github.com/tweag/capability
license: BSD3
license-file: LICENSE.md
maintainer: andreas.herrmann@tweag.io
copyright: 2018 EURL Tweag
category: Control
build-type: Simple
extra-source-files:
  ChangeLog.md
  CONTRIBUTING.md
  README.md
cabal-version: 1.18
tested-with: GHC==8.10.4, GHC==9.0.1
synopsis: Extensional capabilities and deriving combinators
description:
  Standard capability type classes for extensional effects and combinators
  to derive capability instances with little boilerplate.

source-repository head
  type: git
  location: https://github.com/tweag/capability

flag hspec-jenkins
  description:
    You can enable the use of the `hspec-jenkins` package using `-fhspec-jenkins`.
    .
    This package allows JUnit formatted test reporting for CI.
  default: False

flag dev
  description: Turn on development settings.
  manual: True
  default: False

library
  exposed-modules:
    Capability
    Capability.Accessors
    Capability.Constraints
    Capability.Derive
    Capability.Error
    Capability.Reader
    Capability.Reader.Internal.Class
    Capability.Reader.Internal.Strategies
    Capability.Reflection
    Capability.Sink
    Capability.Sink.Internal.Class
    Capability.Sink.Internal.Strategies
    Capability.Source
    Capability.Source.Internal.Class
    Capability.Source.Internal.Strategies
    Capability.State
    Capability.State.Internal.Class
    Capability.State.Internal.Strategies
    Capability.State.Internal.Strategies.Common
    Capability.Stream
    Capability.TypeOf
    Capability.Writer
  build-depends:
      base >= 4.14 && < 5.0
    , constraints >= 0.1 && < 0.14
    , dlist >= 0.8 && < 1.1
    , exceptions >= 0.6 && < 0.11
    , generic-lens >= 2.0 && < 2.3
    , lens >= 4.16 && < 5.2
    , monad-control >= 1.0 && < 1.1
    , mtl >= 2.0 && < 3.0
    , mutable-containers >= 0.3 && < 0.4
    , primitive >= 0.6 && < 0.8
    , reflection >= 2.1 && < 2.2
    , safe-exceptions >= 0.1 && < 0.2
    , streaming >= 0.2 && < 0.3
    , transformers >= 0.5.5 && < 0.7
    , unliftio >= 0.2 && < 0.3
    , unliftio-core >= 0.1 && < 0.3
  if flag(dev)
    ghc-options: -Wall -Werror -Wcompat
                 -Wincomplete-record-updates
                 -Wincomplete-uni-patterns
                 -Wnoncanonical-monad-instances
  else
    ghc-options: -Wall
  hs-source-dirs: src
  default-language: Haskell2010

test-suite examples
  type: exitcode-stdio-1.0
  other-modules:
    Reflection
    WordCount
    CountLog
    Error
    Reader
    Sink
    State
    Test.Common
    Writer
  main-is: Test.hs
  build-depends:
      base >= 4.14 && < 5.0
    , capability
    , containers
    , dlist
    , hspec
    , lens
    , mtl
    , silently
    , streaming
    , temporary
    , text
    , unliftio
  if flag(hspec-jenkins)
    build-depends: hspec-jenkins
  if flag(dev)
    ghc-options: -Wall -Werror -Wcompat
                 -Wincomplete-record-updates
                 -Wincomplete-uni-patterns
                 -Wnoncanonical-monad-instances
  else
    ghc-options: -Wall
  hs-source-dirs: examples
  default-language: Haskell2010