packages feed

effectful-th-1.0.0.0: effectful-th.cabal

cabal-version:      2.4
build-type:         Simple
name:               effectful-th
version:            1.0.0.0
license:            BSD-3-Clause
license-file:       LICENSE
category:           Control
maintainer:         andrzej@rybczak.net
author:             Andrzej Rybczak
synopsis:           Template Haskell utilities for the effectful library.

description: Generate functions for performing operations of dynamically
             dispatched effects via Template Haskell.

extra-source-files:
  CHANGELOG.md
  README.md

tested-with: GHC ==8.8.4 || ==8.10.7 || ==9.0.2 || ==9.2.3 || ==9.4.1

bug-reports:   https://github.com/haskell-effectful/effectful/issues
source-repository head
  type:     git
  location: https://github.com/haskell-effectful/effectful.git

common language
    ghc-options:        -Wall -Wcompat -Wno-unticked-promoted-constructors

    default-language:   Haskell2010

    default-extensions: BangPatterns
                        ConstraintKinds
                        DataKinds
                        DeriveFunctor
                        DeriveGeneric
                        FlexibleContexts
                        FlexibleInstances
                        GADTs
                        GeneralizedNewtypeDeriving
                        LambdaCase
                        MultiParamTypeClasses
                        NoStarIsType
                        RankNTypes
                        RecordWildCards
                        RoleAnnotations
                        ScopedTypeVariables
                        StandaloneDeriving
                        TupleSections
                        TypeApplications
                        TypeFamilies
                        TypeOperators

library
    import:         language

    build-depends:    base                >= 4.13      && < 5
                    , containers          >= 0.6
                    , effectful           >= 1.0.0.0   && < 1.0.1.0
                    , exceptions          >= 0.10.4
                    , template-haskell    >= 2.15      && < 2.20
                    , th-abstraction      >= 0.4       && < 0.5

    hs-source-dirs:  src

    exposed-modules: Effectful.TH

test-suite th-tests
    import:         language

    build-depends:    base
                    , effectful
                    , effectful-th

    hs-source-dirs: tests

    type:           exitcode-stdio-1.0
    main-is:        ThTests.hs