packages feed

ether-0.5.0.0: ether.cabal

name:                ether
version:             0.5.0.0
synopsis:            Monad transformers and classes
description:
    Ether is a Haskell library that extends @mtl@ and @transformers@ with
    tagged monad transformers and classes in a compatible way.

    Introduction <https://int-index.github.io/ether/>

category:            Control
license:             BSD3
license-file:        LICENSE
author:              Vladislav Zavialov
maintainer:          Vladislav Zavialov <vlad.z.4096@gmail.com>
homepage:            https://int-index.github.io/ether/
bug-reports:         https://github.com/int-index/ether/issues
build-type:          Simple
cabal-version:       >=1.18
extra-source-files:  CHANGELOG.md

source-repository head

  type: git
  location: git@github.com:int-index/ether.git


library

  exposed-modules:
    Ether
    Ether.Reader
    Ether.State
    Ether.Writer
    Ether.Except
    Ether.TaggedTrans
    Ether.TagDispatch
    Ether.Internal

  build-depends:
    base >=4.9 && <4.11,
    transformers >=0.5.4.0,
    transformers-lift >=0.2.0.0,
    mtl >=2.2.1,
    mmorph >=1.0.4,
    monad-control >=1.0.0.4,
    transformers-base >=0.4.4,
    writer-cps-mtl >= 0.1.1.4,
    exceptions >=0.8,
    template-haskell >=2.11,
    tagged >=0.8.5,
    reflection >=2.1

  default-language:
    Haskell2010

  default-extensions:
    AllowAmbiguousTypes
    ConstraintKinds
    DataKinds
    DeriveGeneric
    EmptyDataDecls
    FlexibleContexts
    FlexibleInstances
    FunctionalDependencies
    GADTs
    GeneralizedNewtypeDeriving
    PartialTypeSignatures
    PolyKinds
    ScopedTypeVariables
    RankNTypes
    TemplateHaskell
    TupleSections
    TypeApplications
    TypeFamilies
    TypeInType
    TypeOperators
    TypeSynonymInstances
    UndecidableInstances
    UndecidableSuperClasses

  hs-source-dirs:
    src

  ghc-options:
    -Wall -O2

test-suite regression

  build-depends:
    base >=4.9 && <4.11,
    transformers >=0.4.2,
    mtl >=2.2.1,
    tasty >=0.10,
    tasty-quickcheck >=0.8,
    QuickCheck >=2.8,
    ghc-prim >=0.3,
    lens >=4.14,
    ether

  main-is:
    Regression.hs

  other-modules:
    Regression.T1
    Regression.T2
    Regression.T3
    Regression.T4
    Regression.T5
    Regression.T6
    Regression.T7
    Regression.T8
    Regression.T9
    Regression.T10
    Regression.T11
    Regression.T12

  type:
    exitcode-stdio-1.0

  hs-source-dirs:
    test

  default-language:
    Haskell2010

  default-extensions:
    AllowAmbiguousTypes
    ConstraintKinds
    DataKinds
    DeriveGeneric
    EmptyDataDecls
    FlexibleContexts
    FlexibleInstances
    FunctionalDependencies
    GADTs
    GeneralizedNewtypeDeriving
    PartialTypeSignatures
    PolyKinds
    ScopedTypeVariables
    RankNTypes
    TemplateHaskell
    TupleSections
    TypeApplications
    TypeFamilies
    TypeInType
    TypeOperators
    TypeSynonymInstances
    UndecidableInstances
    UndecidableSuperClasses

  ghc-options:
    -Wall -fno-warn-missing-signatures


benchmark bench

  build-depends:
    base >=4.9 && <4.11,
    mtl >=2.2.1,
    transformers >=0.4.2,
    criterion >=1.1,
    deepseq >=1.4,
    lens >=4.14,
    ether

  main-is:
    Bench.hs

  type:
    exitcode-stdio-1.0

  hs-source-dirs:
    bench

  default-language:
    Haskell2010

  default-extensions:
    AllowAmbiguousTypes
    ConstraintKinds
    DataKinds
    DeriveGeneric
    EmptyDataDecls
    FlexibleContexts
    FlexibleInstances
    FunctionalDependencies
    GADTs
    GeneralizedNewtypeDeriving
    PartialTypeSignatures
    PolyKinds
    ScopedTypeVariables
    RankNTypes
    TemplateHaskell
    TupleSections
    TypeApplications
    TypeFamilies
    TypeInType
    TypeOperators
    TypeSynonymInstances
    UndecidableInstances
    UndecidableSuperClasses

  ghc-options:
    -Wall -O2

  ghc-prof-options:
    -fprof-auto