gpt4 book ai didi

haskell - hackage 包依赖项和面向 future 的库

转载 作者:行者123 更新时间:2023-12-04 14:52:30 25 4
gpt4 key购买 nike

在 cabal 文件的依赖项部分:

Build-Depends: base >= 3 && < 5, transformers >= 0.2.0

我应该做类似的事情吗
Build-Depends: base >= 3 && < 5, transformers >= 0.2.0 && < 0.3.0

(对我依赖的软件包版本设置上限)

或不?

我将使用一个真实的例子:我在 Hackage 上的“List”包(List monad transformer and class)
  • 如果我不设置限制 - 我的包裹可能会因“变形金刚”的变化而损坏
  • 如果我确实设置了限制 - 使用“变压器”但使用更新版本的用户将无法使用 liftliftIOListT因为它只是这些变形金刚类的一个实例-0.2.x

  • 我想应用程序应该始终设置上限,以便它们永远不会中断,所以这个问题只与库有关:

    我是否应该对依赖项使用版本上限?

    最佳答案

    有一个明确的 policy推荐上限 - 特别参见第 3 节(“Cabal 中的依赖项”)。其他答案为该政策提供了进一步的理由。

    简而言之 - 上限应该是 < A.(B+1) 的形式其中 A 和 B 是当前版本 ( A.B.C... ) 的第一个元素。这是因为增加 A.B应该意味着该版本破坏了旧的 API。

    关于haskell - hackage 包依赖项和面向 future 的库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2823522/

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