cabal-version: 3.0 name: ghc-tcplugin-api version: 0.3.0.0 x-revision: 1 synopsis: An API for type-checker plugins. license: BSD-3-Clause build-type: Simple author: Sam Derbyshire maintainer: Sam Derbyshire copyright: 2021 Sam Derbyshire homepage: https://github.com/sheaf/ghc-tcplugin-api category: Type System, GHC, Plugin description: This library provides a streamlined monadic interface for writing GHC type-checking plugins. Each stage in a type-checking plugin (initialisation, solving, rewriting, shutdown) has a corresponding monad, preventing operations that are only allowed in some stages to be used in the other stages. Operations that work across multiple stages are overloaded across monads using MTL-like typeclasses. Some operations, like creating evidence for constraints or creating custom type error messages, are also simplified. Please refer to the for example usage. extra-source-files: changelog.md library build-depends: base >= 4.15.0 && < 4.18, ghc >= 9.0 && < 9.4, transformers >= 0.5 && < 0.6, default-language: Haskell2010 ghc-options: -Wall -Wcompat -fwarn-missing-local-signatures -fwarn-incomplete-uni-patterns -fwarn-missing-deriving-strategies -fno-warn-unticked-promoted-constructors hs-source-dirs: src exposed-modules: GHC.TcPlugin.API, GHC.TcPlugin.API.Internal if impl(ghc >= 9.3.0) cpp-options: -DHAS_REWRITING else other-modules: GHC.TcPlugin.API.Internal.Shim if impl(ghc < 9.5.0) cpp-options: -DHAS_DERIVEDS