How to load & parse an HI (interface) file?

Harendra Kumar harendra.kumar at
Sat Dec 2 20:20:44 UTC 2017

GHC has a "--show-iface" option which pretty prints the ".hi" file. Not
sure if it works for your use-case but it may be easier to parse the text
displayed by this option.


On 2 December 2017 at 21:29, Saurabh Nanda <saurabhnanda at> wrote:

> (GHC newbie alert -- is this the right mailing list for these kind of
> questions?)
> I"m writing some code to figure out all the instances of particular
> type-classes and after exploring a lot of options (hlint, haskell-src-exts,
> annotations, doctests, etc), I realized that the compiler had already
> figured it out and written it to disk for me!
> More digging led me to
> LoadIface.html#v:loadSrcInterface after which I got stuck. How does one
> call this function? Specifically:
> * What is SDoc and how to construct a reasonable value for this argument?
> * IsBootInterface would mostly be False, right?
> * What does `Maybe FastString` represent and how does one construct it?
> * Finally how does one evaluate the resulting monadic action to get access
> to the underlying `ModIface`?
> -- Saurabh.
> _______________________________________________
> ghc-devs mailing list
> ghc-devs at
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the ghc-devs mailing list