gpt4 book ai didi

haskell - cabal 软件包集的独立子集

转载 作者:行者123 更新时间:2023-12-03 06:11:20 27 4
gpt4 key购买 nike

给定一组 cabal 包,有没有办法自动计算独立包的子集?换句话说,软件包的子集足以安装所有这些软件包。

对于[network,parsec],答案是[network],因为它network取决于parsec

对于[network,containers],答案是[network,containers],因为:

  • 网络不依赖于容器
  • 所有网络的依赖项都不依赖于容器
  • 容器不依赖于网络
  • 所有容器的依赖项不依赖于网络

找到 2 个包的答案并不难。真正有趣的是找到 [containers、directory、filepath、lens、xml、http-conduit、regex-posix、monad-control、unordered-containers、glib、hashable、hspec、split、aeson 的独立集,attoparsec,stm,QuickCheck]

<小时/>

从答案中我期望一些基于 cabal 库的功能,例如 ∷ [Packages] → IO [Packages]

最佳答案

Cabal 正在转向更像 NPM 的模型,这将使​​依赖关系解析变得更加简单。每个已安装的软件包都将保留其依赖项的本地副本,用一点磁盘空间来解决安装具有互斥软件包版本控制要求的多个全局软件包的麻烦。

在此模型下,安装一组软件包所需的软件包子集==即集。尽管其中一个可能是另一个的依赖项,但每个安装的副本都将保留其依赖项的本地副本,因此 Cabal 不会再考虑以这种方式安装的依赖项。

关于haskell - cabal 软件包集的独立子集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15186768/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com