<div dir="ltr"><div>Hi everyone,</div><div><br></div><div>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.</div><div>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.</div><div><br></div><div>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".</div><div> The main improvements that this library offers in its current state are, in my opinion, as follows:</div><div>  - Decoupling from GHC, which has several upsides:</div><div>    - 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),<br></div><div>    - cross-compatibility across GHC versions, hopefully lightening the CPP burden on plugin authors.<br></div><div>  - More extensive documentation that should help people get started with typechecking plugins. The haddocks remain available at the same page: <a href="https://sheaf.github.io/ghc-tcplugin-api/GHC-TcPlugin-API.html">https://sheaf.github.io/ghc-tcplugin-api/GHC-TcPlugin-API.html</a></div><div><br></div><div>The library is available on the GitHub repository as before: <a href="https://github.com/sheaf/ghc-tcplugin-api">https://github.com/sheaf/ghc-tcplugin-api</a></div><div>I will upload the library to Hackage soon.<br></div><div><br></div><div>Thanks all,</div><div><br></div><div>Sam<br></div></div>