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.
  - More extensive documentation that should help people get started with typechecking plugins. The haddocks remain available at the same page: https://sheaf.github.io/ghc-tcplugin-api/GHC-TcPlugin-API.html

The library is available on the GitHub repository as before: https://github.com/sheaf/ghc-tcplugin-api
I will upload the library to Hackage soon.

Thanks all,

Sam