AlanI have a feeling the work-in-progress Haskell Refactorer using the GHC API may be able to provide this information through its library interface.When I have some time over the weekend I will have a look.
On Fri, Jun 21, 2013 at 8:44 AM, Michael Sloan <mgsloan@gmail.com> wrote:
Roman: Awesome! I'm really glad that this is ready for use!
Andrew: I have a tool that's a step towards doing this. Instead of using haskell suite, it uses ghci via hint to query module exports, and then uses TH to reify them. This has the benefit of supporting everything that GHC supports, whereas there are currently some cases that haskell-src-exts can't parse. There's also the issue of supporting declarations generated by template haskell.
Here's an example of diffing some of its output:
https://github.com/mgsloan/api-compat/blob/master/examples/template-haskell.api.diff
The main reason I haven't released the tool is that I was intending to do structural diffs / handle renaming, so it's somewhat unfinished. However I believe it's reasonably usable: instead, the output is just structured in a way that's reasonably amenable to diffing.
-MichaelOn Thu, Jun 20, 2013 at 11:12 PM, Andrew Cowie <andrew@operationaldynamics.com> wrote:
_______________________________________________On Thu, 2013-06-20 at 18:13 +0300, Roman Cheplyaka wrote:Is this a step toward being able to automatically derive an API version
> Namely, it can do the following:
>
> * for a module, compute its interface, i.e. the set of entities
> exported by the module, together with their original names.
>
> * for each name in the module, figure out what it refers to — whether
> it's bound locally (say, by a where clause) or globally (and then
> give its origin).
number [in the SO version sense of the word; ie, has a change happened
requiring a version bump?]
AfC
Sydney
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe