[Haskell-cafe] GHC API - list all exports of a module

Erik Hesselink hesselink at gmail.com
Mon Feb 2 11:55:41 UTC 2015


On Mon, Feb 2, 2015 at 12:46 PM, Jochen Keil <jochen.keil at gmail.com> wrote:
> Hello Peter,
>
> On 02.02.2015 12:31, Peter Simons wrote:
>> Hi Jochen,
>>
>>  > My main goal would be to have a program which takes two modules of
>>  > different versions, compare them and highlight the differences
>>  > between them.
>>
>> maybe http://hackage.haskell.org/package/hackage-diff would work for
>> your purposes?
>
> Thanks for the hint, this looks pretty good.
>
> One thing though: hackage-diff uses haskell-src-exts for parsing
> modules. Does haskell-src-exts re-use the GHC API or does it run its own
> parser? (from a quick glance I'd say the latter case)

There are basically two routes to choose from with such a tool (of
which a few already exist, I think): you can use GHC and its API, like
you're doing, or you can use haskell-src-exts, which is a separate
parser, and use haskell-names for name resolution (and
haskell-packages for dependency information). Sadly there's no
haskell-type-exts for typechecking (yet). The GHC route is probably
more powerful, the haskell-suite route is simpler and doesn't depend
on GHC.

Regards,

Erik


More information about the Haskell-Cafe mailing list