Ivan Lazar Miljenovic schrieb:
Stephen Tetley <stephen.tet...@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
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to