[Haskell-cafe] Re: The 8 Most Important GSoC Projects

Benedikt Huber 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 
approach?

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.

benedikt


More information about the Haskell-Cafe mailing list