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
5 modules- GHC.Builtins151Helper umbrella re-exports of various known entities to GHC: known-key
- GHC.TcPlugin.API238This 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.Names8This module provides an optional framework that facilitates name lookup
- GHC.TcPlugin.API.TyConSubst3This module provides functionality for recognising whether a type is a
Internal modules · 1
- GHC.TcPlugin.API.Internal22This 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