
On Sat, Dec 8, 2012 at 12:11 PM, Duncan Coutts
But yes it is true that the "real" API of a package is in the version number of the package itself, and the versions of all the packages which are "exposed" by that package (meaning packages that define types that are mentioned in the api of the exposing package). But it that has the property that I only notice changes in the types in those dependencies if I also depend on them directly myself. So we can get away with specifying local info, and not have to encode the full transative info (I think).
It's worse than that. The failure to build in my example above is a failure to find a valid install plan due to conflicting dependency ranges, not due to clashing symbols from different package versions. It happens even with private dependencies! -- Johan