6

我一直在阅读这篇StackOverflow帖子,其中建议我们使用haskellng包集。

我也读过这个,但我不明白是什么haskellng

我也读过这个,但我仍然不知道是什么haskellng

有人haskellng可以用简单,清晰的方式解释什么吗?

为什么haskellng重要?为什么好?

我知道这haskellng是在替换一些东西。但它所取代的东西是什么?为什么需要更换一些东西?

这篇文章中写道:

所以如果我不想更新,我永远不必更新?

我的猜测是“haskellPackages”和“haskellngPackages”将共存一段时间。不过,就个人而言,我切换到了 Haskell NG,并且不再维护旧层次结构中的任何包。我想其他贡献者也会做同样的事情。一旦您将设置转换为“haskellngPackages”,就没有理由回头看,真的。

'haskellPackages' 和 'haskellngPackages' 和有什么区别?

什么是'haskellPackages'?它从何而来 ?它是干什么用的 ?

他们也在一篇文章中写道:

为什么要关心这个“新基建”?

新代码将中断对 ~/.nixpkgs/config.nix 或 /etc/nixos/configuration.nix 中任何与 Haskell 相关的配置的评估。

私人生成的 cabal2nix 表达式将停止编译。

依赖 ghc-wrapper 在 ~/.nix-profile 中自动查找 GHC 库的安装已过时。如果您使用这种方法,您将无法再更新您的个人资料。

什么是代码?旧代码是什么?为什么新代码会破坏什么?

4

2 回答 2

8

有人可以用简单明了的方式解释什么是haskellng吗?

好吧,haskellng是为 Nix 制作的下一代 Nix Haskell 软件包集。我认为大部分工作是由彼得西蒙斯完成的。但请注意,在最新的 master 版本中,haskellngPackages已重命名回haskellPackages. 因此,如果您使用的是不稳定的频道,差异并不重要。

为什么haskellng很重要?为什么好?

有了haskellng,我想一切都是自动化的。有人将一个包上传到hackage,大约一周后,该包派生nixpkgs通过某个过程自动包含在nix haskell包集(undex)中(我猜它利用了cabal2nix)。

'haskellPackages' 和 'haskellngPackages' 和有什么区别?

如上所述,在最新的 master 分支中,它们之间没有区别。

什么是'haskellPackages'?它从何而来 ?它是干什么用的 ?

它是 Haskell nix 软件包的早期基础设施。它被用于,嗯,创建和构建 Haskell 包。

什么是新代码?旧代码是什么?为什么新代码会破坏什么?

新代码是haskellngPackages. 旧代码是haskellPackages. 但这并不重要,因为 haskellng 已重命名为旧名称,并且我猜旧代码已被删除。

于 2015-06-20T11:46:32.933 回答
2

我在#nix 频道上问过这个问题:

我:有人可以解释一下haskellng是什么吗? 什么是haskellng?“haskellPackages”和“haskellngPackages”有什么区别?

Fuuzetsu:不再重要,这是默认的新架构,旧架构不存在

Fuuzetsu:我们有一段时间有 2 个 Haskell 架构,而 -ng 是新的

于 2015-06-20T11:47:12.097 回答