Étant donné un ensemble de paquets cabal, existe-t-il un moyen de calculer automatiquement un sous-ensemble de paquets indépendants ? En d'autres termes, le sous-ensemble de paquets qui sera suffisant pour les installer tous.
Pour [network,parsec]
la réponse est [network]
parce qu'il network
dépend de parsec
.
Pour [network,containers]
la réponse est [network,containers]
parce que :
-
network
ne dépend pas decontainers
- tous
network
ne dépend pas decontainers
-
containers
ne dépend pas denetwork
- tous
containers
ne dépend pas denetwork
Il n'est pas difficile de trouver la réponse pour 2 paquets. Ce qui est vraiment intéressant, c'est de trouver l'ensemble indépendant pour [containers, directory, filepath, lens, xml, http-conduit, regex-posix, monad-control, unordered-containers, glib, hashable, hspec, split, aeson, attoparsec, stm, QuickCheck]
.
A partir de la réponse, je m'attends à une fonction basée sur la bibliothèque cabale comme [Packages] IO [Packages]
.