ghc-tcplugin-api: An API for type-checker plugins.

[ bsd3, ghc, library, plugin, type-system ] [ Propose Tags ] [ Report a vulnerability ]

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]

Downloads

Maintainer's Corner

Package maintainers

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 (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-10-30T09:06:52Z
Distributions NixOS:0.11.0.0
Reverse Dependencies 4 direct, 2 indirect [details]
Downloads 1980 total (103 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-10-30 [all 1 reports]