Hey, there's this relatively recent thread on finding instances of a type class:
https://mail.haskell.org/pipermail/ghc-devs/2017-May/014217.html I'm sorry, but I couldn't find a better archive for ghc-devs. Enjoy Sebastian On Sun, Dec 3, 2017 at 3:43 AM, Brandon Allbery <allber...@gmail.com> wrote: > The problem with the API is it's complex and can break between ghc > versions. > But --show-iface is even more fragile and prone to break between ghc > versions. > The history of the plugins package constitutes a record of both kinds of > pain. > > On Sat, Dec 2, 2017 at 9:11 PM, Saurabh Nanda <saurabhna...@gmail.com> > wrote: > >> > I would be cautious about using the ghc-api hi file interfaces; hi >> files turn out to interact with a >> > lot of low-level parts in complex ways (even to the extent that they're >> a large part of why ghc >> > can't parallelize builds itself and attempts to change that have mostly >> failed). >> >> Are you cautioning against using the GHC API (as opposed to the >> --show-iface command line interface) >> or using HI files themselves? >> >> -- Saurabh. >> >> >> On Sun, Dec 3, 2017 at 2:04 AM, Brandon Allbery <allber...@gmail.com> >> wrote: >> >>> I would be cautious about using the ghc-api hi file interfaces; hi files >>> turn out to interact with a lot of low-level parts in complex ways (even to >>> the extent that they're a large part of why ghc can't parallelize builds >>> itself and attempts to change that have mostly failed). >>> >>> But if you must do this, you *really* want to have >>> https://ghc.haskell.org/trac/ghc/wiki/Commentary/Compiler ready to hand >>> --- and go through it first so you have some idea of how it works; much of >>> it is links to the lower level details (often straight into the source). >>> >>> On Sat, Dec 2, 2017 at 10:59 AM, Saurabh Nanda <saurabhna...@gmail.com> >>> 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 https://www.stackage.org/haddo >>>> ck/lts-9.0/ghc-8.0.2/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@haskell.org >>>> http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs >>>> >>>> >>> >>> >>> -- >>> brandon s allbery kf8nh sine nomine >>> associates >>> allber...@gmail.com >>> ballb...@sinenomine.net >>> unix, openafs, kerberos, infrastructure, xmonad >>> http://sinenomine.net >>> >> >> >> >> -- >> http://www.saurabhnanda.com >> > > > > -- > brandon s allbery kf8nh sine nomine > associates > allber...@gmail.com > ballb...@sinenomine.net > unix, openafs, kerberos, infrastructure, xmonad > http://sinenomine.net > > _______________________________________________ > ghc-devs mailing list > ghc-devs@haskell.org > http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs > >
_______________________________________________ ghc-devs mailing list ghc-devs@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs