Учитывая набор пакетов cabal, существует ли способ автоматически рассчитывать подмножество независимых пакетов? Другими словами, подмножество пакетов, которое будет достаточным для их установки.Независимое подмножество комплектов для кабальных комплектов
Для [network,parsec]
ответ [network]
, потому что network
зависит от parsec
.
Для [network,containers]
ответ [network,containers]
потому что:
network
не зависит отcontainers
- все
network
сек зависимостей не зависит отcontainers
containers
не зависит отnetwork
- всех
containers
с зависимости не зависит отnetwork
Нетрудно найти ответ на 2 пакета. Что действительно интересно, так это узнать независимый набор для [containers, directory, filepath, lens, xml, http-conduit, regex-posix, monad-control, unordered-containers, glib, hashable, hspec, split, aeson, attoparsec, stm, QuickCheck]
.
От ответа я ожидаю, некоторые функции на основе Кабал библиотеки как ∷ [Packages] → IO [Packages]
.
Похоже, что 'Distribution.Client.PackageIndex.dependencyClosure' - это то, что вам нужно. –
Вы имеете в виду ['Distribution.Simple.PackageIndex.dependencyClosure'] (http://hackage.haskell.org/packages/archive/Cabal/latest/doc/html/Distribution-Simple-PackageIndex.html#v:dependencyClosure) ? –
Git версия cabal-install ('Distribution.Client. *') Также является библиотекой. –