<div dir="ltr"><div>Hello ghc developers,<br></div><div><br></div><div>With many thanks to Daniel Grober, I have released 0.0.11 of hsinspect to Hackage, which now supports ghc versions 8.4.x, 8.6.x and 8.8.x.</div><div><br></div><div>I would like to bring this tool to the attention of this community of ghc developers because it is using the ghc api exclusively to provide semantic information about .hs files, so it may be of interest to you to see a tool using your api in the wild.</div><div><br></div><div>And selfishly, I  learnt so much from Daniel's reviews of two short functions recently (which were subject to a change in ghc behavour in 8.8) that I would very much welcome further reviews by this group.</div><div><br></div><div>The source code is split across three parts:</div><div><br></div><div>The plugin (an alternative to hie-bios, which didn't work well for me):</div><div><br></div><div><a href="https://gitlab.com/tseenshe/hsinspect/-/blob/master/plugin/GhcFlags/Plugin.hs">https://gitlab.com/tseenshe/hsinspect/-/blob/master/plugin/GhcFlags/Plugin.hs</a></div><div><br></div><div>The library, one file per feature:</div><div><br></div><div><a href="https://gitlab.com/tseenshe/hsinspect/-/tree/master/library/HsInspect">https://gitlab.com/tseenshe/hsinspect/-/tree/master/library/HsInspect</a></div><div><br></div><div>and the Executable (setup, then just call the relevant library):</div><div><br></div><div><a href="https://gitlab.com/tseenshe/hsinspect/-/blob/master/exe/Main.hs">https://gitlab.com/tseenshe/hsinspect/-/blob/master/exe/Main.hs</a></div><div><br></div><div>My usecase is to provide semantic information for my Emacs mode, which is a completely from-scratch haskell-mode that I've been working on in my free time for the past year:</div><div><br></div><div>  <a href="https://gitlab.com/tseenshe/haskell-tng.el">https://gitlab.com/tseenshe/haskell-tng.el</a></div><div><br></div><div>For anybody curious about the wider project, there are some screenshots of the features in the README, which also fully justifies why I undertook this endeavour: i.e. why I don't believe I could achieve what I wanted in haskell-mode or LSP.</div><div><br></div><div>I am content for this tool to be used just by myself, my work colleagues, and anybody who is interested in contributing.<br></div><div><br></div><div>Best regards,</div><div>Tseen She<br></div></div>