[Haskell-cafe] Re: The 8 Most Important GSoC Projects
benjovi at gmx.net
Fri Apr 2 11:20:40 EDT 2010
Ivan Lazar Miljenovic schrieb:
> Stephen Tetley <stephen.tetley at gmail.com> writes:
>> I had a little experiment along the lines of "A Package Versioning
>> Policy Checker" a few months ago. I got as far as using
>> Haskell-src-exts to extract module export list, but didn't work out
>> out a hashing scheme for the actual type signatures.
> I've been thinking of doing something similar for a year or so now, but
> there's one big problem that I can think of: how to deal with functions
> that don't have an explicit type signature in the source. My
> understanding is that to derive these signatures at "checking time"
> would require using something like the GHC API, which immediately
> reduces the "niceness" and portability of such a tool/library.
I've done a brief experiment diffing APIs using the hoogle backend of
haddock. While the hoogle files where not a perfect match, what are the
drawbacks of using a haddock backend if you want to use a GHC API based
However, the major problem with a GHC API based approach is that the
result relies on the installed dependencies of the package. For example,
it is hard to compute the API changes for older versions which do not
build anymore. I also believe that inferring the type of an exported
function is not a good idea for the PVPC, as this way the result is
somewhat indeterministic, depending on installed dependencies.
Therefore it seems that a solution based on eg haskell-src-exts, which
does not rely on correctly installed dependencies, is preferrable.
More information about the Haskell-Cafe