Package0.20.1.0Type SystemGHCPlugin
ghc-tcplugin-api
An API for type-checker plugins.
- Version0.20.1.0
- CategoryType System, GHC, Plugin
- LicenceBSD-3-Clause
- AuthorSam Derbyshire
- MaintainerSam Derbyshire
- Homepagegithub.com/sheaf/ghc-tcplugin-api
- Pinned byhackage ghc-tcplugin-api 0.20.1.0
- Sourcehackage.haskell.org/package/ghc-tcplugin-api-0.20.1.0
Modules
- GHC.BuiltinsHelper umbrella re-exports of various known entities to GHC: known-key
- GHC.TcPlugin.APIThis module provides a unified interface for writing type-checking plugins for GHC. It attempts to re-export all the functionality from G…
- GHC.TcPlugin.API.NamesThis module provides an optional framework that facilitates name lookup
- GHC.TcPlugin.API.TyConSubstThis module provides functionality for recognising whether a type is a
Internal modules · 1
- GHC.TcPlugin.API.InternalThis module provides operations to directly lift and unlift computations in
Description
This library provides a streamlined monadic interface for writing GHC type-checking plugins.
Each stage in a type-checking plugin (initialisation, solving, rewriting, post-tc) 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 associated GitHub repository for example usage.
Depends on
6 packages- array-0.5.8.0with GHC
- base-4.23.0.0with GHC
- containers-0.8with GHC
- ghc-10.0.0.20260917with GHC
- template-haskell-2.25.0.0with GHC
- transformers-0.6.3.0with GHC