packages feed

polysemy-0.1.0.0: polysemy.cabal

cabal-version: 1.12
name: polysemy
version: 0.1.0.0
license: BSD3
license-file: LICENSE
copyright: 2019 Sandy Maguire
maintainer: sandy@sandymaguire.me
author: Sandy Maguire
homepage: https://github.com/isovector/polysemy#readme
bug-reports: https://github.com/isovector/polysemy/issues
synopsis: Higher-order, low-boilerplate, zero-cost free monads.
description:
    Please see the README on GitHub at <https://github.com/isovector/polysemy#readme>
category: Language
build-type: Simple
extra-source-files:
    README.md
    ChangeLog.md

source-repository head
    type: git
    location: https://github.com/isovector/polysemy

flag dump-core
    description:
        Dump HTML for the core generated by GHC during compilation
    default: False
    manual: True

flag error-messages
    description:
        Provide custom error messages
    manual: True

library
    exposed-modules:
        Polysemy
        Polysemy.Error
        Polysemy.Fixpoint
        Polysemy.Input
        Polysemy.Internal
        Polysemy.Internal.Combinators
        Polysemy.Internal.CustomErrors
        Polysemy.Internal.Effect
        Polysemy.Internal.Fixpoint
        Polysemy.Internal.Lift
        Polysemy.Internal.NonDet
        Polysemy.Internal.Tactics
        Polysemy.Internal.TH.Effect
        Polysemy.Internal.TH.Performance
        Polysemy.Internal.Union
        Polysemy.NonDet
        Polysemy.Output
        Polysemy.Random
        Polysemy.Reader
        Polysemy.Resource
        Polysemy.State
        Polysemy.Trace
        Polysemy.Writer
    hs-source-dirs: src
    other-modules:
        Paths_polysemy
    default-language: Haskell2010
    default-extensions: DataKinds DeriveFunctor FlexibleContexts GADTs
                        LambdaCase PolyKinds RankNTypes ScopedTypeVariables
                        StandaloneDeriving TypeApplications TypeOperators TypeFamilies
                        UnicodeSyntax
    ghc-options: -O2 -Wall
    build-depends:
        base >=4.7 && <5,
        mtl >=2.2.2 && <2.3,
        random ==1.1.*,
        syb ==0.7.*,
        template-haskell >=2.14.0.0 && <2.15,
        transformers >=0.5.5.0 && <0.6
    
    if flag(dump-core)
        ghc-options: -fplugin=DumpCore -fplugin-opt DumpCore:core-html
        build-depends:
            dump-core >=0.1.3.2 && <0.2
    
    if flag(error-messages)
        cpp-options: -DERROR_MESSAGES

test-suite polysemy-test
    type: exitcode-stdio-1.0
    main-is: Main.hs
    hs-source-dirs: test
    other-modules:
        FusionSpec
        Paths_polysemy
    default-language: Haskell2010
    ghc-options: -threaded -rtsopts -with-rtsopts=-N
    build-depends:
        base >=4.7 && <5,
        hspec >=2.6.0 && <2.7,
        inspection-testing >=0.4.1.1 && <0.5,
        mtl >=2.2.2 && <2.3,
        polysemy -any,
        random ==1.1.*,
        syb ==0.7.*,
        template-haskell >=2.14.0.0 && <2.15,
        transformers >=0.5.5.0 && <0.6

benchmark polysemy-bench
    type: exitcode-stdio-1.0
    main-is: countDown.hs
    hs-source-dirs: bench
    other-modules:
        Poly
        Paths_polysemy
    default-language: Haskell2010
    build-depends:
        base >=4.7 && <5,
        criterion >=1.5.3.0 && <1.6,
        free ==5.1.*,
        freer-simple >=1.2.1.0 && <1.3,
        mtl >=2.2.2 && <2.3,
        polysemy -any,
        random ==1.1.*,
        syb ==0.7.*,
        template-haskell >=2.14.0.0 && <2.15,
        transformers >=0.5.5.0 && <0.6