用于添加依赖项的 Stack.yaml 与 package.yaml

aga*_*gam 3 haskell haskell-stack

可能是一个愚蠢的问题:

Stack 文档提到添加package.yaml依赖项的正确位置,但我在项目目录中看到的只是一个stack.yaml文件;那么这个地方合适吗?

(我看到一个现有的问题询问这两个文件之间的冗余,但我什至根本没有看到该package.yaml文件!)

如果有帮助:

$ stack --version
Version 1.9.3, Git revision 40cf7b37526b86d1676da82167ea8758a854953b (6211 commits) x86_64 hpack-0.31.1
Run Code Online (Sandbox Code Playgroud)

And*_*wie 7

package.yaml实际上是由hpack处理的;它不是一个堆栈功能,除非它在您的项目中看到一个堆栈功能,它会使用它并生成一个.cabal文件。

您可以从头开始自己创建一个package.yaml 。你不需要做stack new任何事情。

我当然发现它使用package.yaml而不是project.cabal方便。没有很好的用户指南,例如(如hpack README中指出的),但有几个示例,您就会意识到没有太多内容:

我看到有人提到Cabal库现在支持新功能,以减少繁琐的重复(可能是某种>= 2.x格式?),这可能很快就会不需要package.yaml,这很好。