packages feed

effectful-plugin-1.1.0.0: effectful-plugin.cabal

cabal-version:      2.4
build-type:         Simple
name:               effectful-plugin
version:            1.1.0.0
license:            BSD-3-Clause
license-file:       LICENSE
category:           Control
maintainer:         andrzej@rybczak.net
author:             Andrzej Rybczak
synopsis:           A GHC plugin for improving disambiguation of effects.

description:
  Instruct GHC to do a better job with disambiguation of effects.
  .
  See the README for more information.

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

tested-with: GHC ==8.8.4 || ==8.10.7 || ==9.0.2 || ==9.2.5 || ==9.4.4

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
                    , effectful-core      >= 1.0.0.0   && < 3.0.0.0
                    , containers          >= 0.5
                    , ghc                 >= 8.6       && < 9.7

    if impl(ghc < 9.4)
      build-depends:  ghc-tcplugins-extra >= 0.3       && < 0.5

    if impl(ghc < 9.4)
      hs-source-dirs: src-legacy
    else
      hs-source-dirs: src

    exposed-modules: Effectful.Plugin

test-suite plugin-tests
    import:         language

    build-depends:    base
                    , effectful-core
                    , effectful-plugin

    hs-source-dirs: tests

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