About

Metadata

  • Last updated , by sheaf
  • License BSD-3-Clause
  • Categories Type System
  • Maintained by: Sam Derbyshire

  • Lottery factor: 1

Links

Installation

Readme

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.