ghc-tcplugin-api: An API for type-checker plugins.
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 associated GitHub repository for example usage.
Modules
[Index] [Quick Jump]
- GHC
- Builtin
- GHC.Builtin.Names
- GHC.Builtin.Types
- GHC.Builtin.Types.Prim
- Core
- GHC.Core.Make
- GHC.Plugins
- TcPlugin
- Types
- Unique
- GHC.Types.Unique.DFM
- GHC.Types.Unique.DSet
- GHC.Types.Unique.FM
- GHC.Types.Unique.Set
- Unique
- Utils
- GHC.Utils.Outputable
- Builtin
Downloads
- ghc-tcplugin-api-0.14.0.0.tar.gz [browse] (Cabal source package)
- Package description (as included in the package)
Maintainer's Corner
For package maintainers and hackage trustees
Candidates
- No Candidates
Versions [RSS] | 0.2.0.0, 0.3.0.0, 0.3.1.0, 0.4.0.0, 0.4.1.0, 0.5.0.0, 0.5.1.0, 0.6.0.0, 0.6.1.0, 0.7.0.0, 0.7.1.0, 0.8.0.0, 0.8.1.0, 0.8.2.0, 0.8.3.0, 0.9.0.0, 0.10.0.0, 0.11.0.0, 0.12.0.0, 0.13.0.0, 0.14.0.0 (info) |
---|---|
Change log | changelog.md |
Dependencies | base (>=4.13.0 && <4.22), containers (>=0.6 && <0.8), ghc (>=8.8 && <9.14), transformers (>=0.5 && <0.7) [details] |
License | BSD-3-Clause |
Copyright | 2021-2024 Sam Derbyshire |
Author | Sam Derbyshire |
Maintainer | Sam Derbyshire |
Category | Type System, GHC, Plugin |
Home page | https://github.com/sheaf/ghc-tcplugin-api |
Uploaded | by sheaf at 2024-11-28T10:18:52Z |
Distributions | NixOS:0.12.0.0 |
Reverse Dependencies | 4 direct, 2 indirect [details] |
Downloads | 2049 total (69 in the last 30 days) |
Rating | 2.0 (votes: 1) [estimated by Bayesian average] |
Your Rating | |
Status | Docs available [build log] Last success reported on 2024-11-28 [all 1 reports] |