phischu / hackage-analysis

Find out stuff about packages on hackage (especially how they evolve).
BSD 3-Clause "New" or "Revised" License
0 stars 0 forks source link

Implementable and simple definition of "interface" #5

Open rlaemmel opened 11 years ago

rlaemmel commented 11 years ago

We want to measure interface changes. So we need a really simple definition of "interface", simple in the sense of its definition. It will not be precise initially. That is, it may not cater for all expressiveness of the module system. This can be extended later :-)

phischu commented 11 years ago

The Package Versioning Policy pretty neatly defines breaking and non-breaking package API changes. There also is a more in-depth article called Eternal Compatibility in Theory. It is unclear how the nowadays more and more common data and type families fit into this picture. One attempt to visualize API changes between package versions is the precis package.