packages feed

effectful-plugin-1.1.0.4: effectful-plugin.cabal

cabal-version:      3.0
build-type:         Simple
name:               effectful-plugin
version:            1.1.0.4
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.10.7, 9.0.2, 9.2.8, 9.4.8, 9.6.5, 9.8.2, 9.10.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
                        -Wmissing-deriving-strategies
                        -Werror=prepositive-qualified-module

    default-language:   Haskell2010

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

library
    import:         language

    build-depends:    base                >= 4.14      && < 5
                    , effectful-core      >= 1.0.0.0   && < 3.0.0.0
                    , containers          >= 0.5
                    , ghc                 >= 8.10      && < 9.11

    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