Hello,
We now have an implementation of type-checker with plugin support. If you are interested in trying it out:
- Checkout and build the `wip/tc-plugins` branch of GHC
- As an example, I've extracted my work on using an SMT solver at the type level as a separate plugin:
- To see how to invoke a module that uses a plugin, have a look in `examples/A.hs`.
(Currently, the plugin assumes that you have `cvc4` installed and available in the path).
- Besides this, we don't have much documentation yet. For hackers: we tried to use `tcPlugin` on
`TcPlugin` in the names of all things plugin related, so you could grep for this. The basic API
types and functions are defined in `TcRnTypes` and `TcRnMonad`.
Happy hacking,
-Iavor