Hi everyone,
Just a short message to let authors of type-checking plugins know that I've updated the ghc-tcplugin-api library with backwards compatibility for GHC 9.0 and 9.2.
The functionality for rewriting type family applications will obviously not be present on those versions, but I hope this will allow plugin authors to try out the API for themselves and see what they think.
It shouldn't be much different from what you are used to; mostly a change from "TcPluginM a" to MTL-style "MonadTcPlugin m => m a", or explicit solver monad "TcPluginM Solve a".
The main improvements that this library offers in its current state are, in my opinion, as follows:
- Decoupling from GHC, which has several upsides:
- needs of plugin authors can be addressed rapidly without needing to wait for new GHC releases (of course, this doesn't apply to the changes which require commensurate changes to GHC),
- cross-compatibility across GHC versions, hopefully lightening the CPP burden on plugin authors.
I will upload the library to Hackage soon.
Thanks all,
Sam