
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