This page provides an index of different resources about GHC plugins.

An example of implementing a constraint solver plugin

How to perform a simple static analysis using syb to traverse the syntax tree.

How to interact with the contraint solve and generate HsExpr GhcTc .

Runs hlint during compilation and reports errors are though they are GHC errors.

Instruments an assertion to print the value of its failed parts when it fails.

Rewrites do expressions to trace all binds.

Plugin which removes unused imports automatically.

An experimental plugin which introduces an operator which acts like an overloadable bracket.

A reimplementation of graphmod as a source plugin.

Implementation of idiom brackets using a parser plugin.

Implementation of a syntax for HLists and solver for a custom MatchI constraint which implements a custom type family for regular expressions.

Warn about type variables which are not explitly quantified.

Enforce invariants on the structure of programs. For example: that an import list is sorted.