On Mon, 2005-05-02 at 15:57 -0400, robert dockins wrote: > >>Is there a way to reliably and automatically check if two versions of > >>a haskell module are interface compatible? > > > > No, because it would have to check whether the semantics of functions > > is the same, even if they are written differently. > > Of course, we cannot expect the computer to examine the semantics. We > must rely on people to know when semantics change. > > Suppose I want to ask the easier question "do these two text files > implement haskell modules which are _type_ compatable?", how would I do > it? Ie, I want the test to fail if I change the type of some function > foo, or if I add a method to a class declaration etc.
You can extract this information from ghc's .hi files. You'd need to filter and munge the info a bit but take a look at the output from $ ghc --show-iface Blah.hi It would be useful to have a tool that emits the 'signature' of a module so you can compare between versions for API changes. Duncan _______________________________________________ Haskell mailing list [email protected] http://www.haskell.org/mailman/listinfo/haskell
