Ticket #500 (new enhancement)
develop a tool to find the maximal consistent set of hackage packages
|Reported by:||duncan||Owned by:|
To a great extent the point of libraries is code re-use. It follows that is it useful to be able to install and use two packages simultaneously. The extension of this is that we would like to know the maximal set of packages that we can install consistently. Them being consistent implies that we can use any of them in another package and have consistent dependencies.
If we knew a package was within the maximal subset then we can give it a positive mark on hackage. We may also be able to encourage package authors to update their dependencies to as to get their packages within this set.
Calculating the maximal consistent subset is certainly an NP-complete problem. It is at least as hard as working out if any single package is installable and that is already NP-complete. However we do not necessarily have to get an exact maximal set, approximation would probably do. We would also like to influence the choice of the set by the importance of packages, especially when it comes to resolving choices about divisive packages (see #499).
We would also like to influence the choices by manually supplied preferences.
This can probably be implemented as an extension of the standard package dependency resolution algorithm and using the code developed for ticket #499.