问题标签 [haskell-stack]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
haskell - 如何使用堆栈工作台?
刚刚尝试在我已从 cabal 转换为 stack 的项目上运行基准测试。运行stack bench
只是打印出来project-name-version: benchmarks
,没有进一步的输出。我是否必须将其他标志传递给堆栈才能查看标准输出?
基准部分供参考:
编辑:这是在stack-0.1.6.0
(这与如何使用堆栈工作台没有重复:))
haskell - GHC 链接器错误(堆栈)
我有点像 Haskell 的初学者,我正在尝试使用堆栈来构建应用程序。
但是,stack build
执行时给我链接器错误:
查看标签告诉我它与此函数中的闭包有关:
但是那里真的没有闭包吗?如果我lint
用
它编译得很好。
我可以很好地执行stack ghci
和玩弄完整的实现。lint
为什么链接失败?
haskell - 包含导入 Gloss 的项目时,`stack ghci` 失败
如果在 Stack 项目中导入 Gloss 并使用stack ghci
,则会出现以下错误:
这怎么能解决?
haskell - `stack build` 需要很长时间才能传递错误消息。我该如何改进它?
我正在使用堆栈来组织我的 Haskell 项目,如下所示:
也就是说,我有很多目录,每个目录都包含一个包,以及一个包含这些目录的单一堆栈环境。在我的工作流程中,我stack build
用来获取编译错误并指导我的工作。问题是给我正确的错误消息需要太长时间,并且它会重建我编辑的每个文件的每个依赖项。我喜欢交互式工作——也就是说,我编辑几行代码,编译,重复——总是一次只编辑一个文件。这大大减慢了我的工作流程。
在使用stack
(全局安装)之前,我只会在我正在编辑的文件上运行 GHCI,但这不再适用了。有什么方法可以加快在我的设置中获取错误消息的速度吗?
这是的输出stack build --verbose
:
haskell - 如何使用堆栈自动构建测试模块?
我有这个Spec.hs
:
我计划将更多来自其他模块的测试套件添加到它的main
.
当我运行测试时:
发生了几件事:
- 更改时会重新运行
OtherSpec.hs
测试,但不会重新构建测试可执行文件。 - 当我更改
Spec.hs
测试可执行文件时,将重新构建并OtherSpec.hs
选择更改。
有没有办法在OtherSpec.hs
更改时触发重建?
我正在使用堆栈版本 0.1.2.0。
haskell - 使用堆栈生成覆盖率报告
我想使用 Stack 生成代码覆盖率报告。我运行的命令相当于(省略通过 传递给测试套件的选项--test-arguments
):
这将执行测试,然后输出以下内容:
错误:myproject 的测试套件“测试”的覆盖率报告没有考虑任何代码。一个可能的原因是您的测试套件构建了库代码(请参阅堆栈问题 #1008)。它也可能表明堆栈或 hpc 程序中的错误。如果您认为您的覆盖率报告应该有有意义的结果,请报告此问题。
我认为它应该(这会创建空报告)。我的包的所有组件的 GHC 选项都是相同的。不需要测试套件来重建库。毕竟,如果 Cabal 可以生成报告,Stack 应该能够在相同的 Cabal 配置下做到这一点,还是我弄错了?
我 按照建议在 Stack GitHub repo上打开了一个问题。
过了一段时间,我决定创建一个好的旧沙箱并使用 Cabal 生成报告(我真的需要查看报告,你知道的)。它以前有效,但现在我得到:
什么?尽管我之前生成了许多报告,但我从未见过这种情况。上面有人刚刚决定我今天不会收到那份报告,看来。
你知道如何使用 Stack 生成覆盖率报告吗?有人成功了吗?
haskell - 了解 Haskell 的堆栈程序以及解析器和 LTS 版本
我试图了解如何使用stack 和 stackage.org。当我第一次安装并使用它时,stackage.org 位于 LTS-3.8(“解析器”)。从那时起,stackage.org 现在有了 LTS-3.11。
首先,我想确认这意味着什么。Stackage 是一个包存储库,对于特定的 LTS 版本(比如 3.8),这些包已经过验证可以协同工作。所以 LTS-3.8 的包一起工作,LTS-3.11 的包也一起工作。继续 ...
当我运行时stack new projectname
,堆栈告诉我:
这是否意味着该项目已设置为仅使用在 LTS-3.8 下验证的包和版本?
如果我现在想开始一个新项目并想在新项目中使用最新的 LTS 版本,我如何告诉堆栈默认执行此操作?
如果我想“升级”旧项目以使用新的 LTS 版本怎么办?
haskell-stack - 使用 stack 安装 stack 项目 extra-deps
当在索引中都找不到两者时,如何构建a
具有依赖关系的项目?b
stack
我使用stack install
了b
,添加了,extra-deps
但仍然无法构建a
。
为什么b
不在我的“包索引”中?我应该如何构建项目a
?
haskell - 使用堆栈时编辑“.ghci”文件
我已经开始使用 Stack 并且找不到要编辑的 .ghci 文件(我希望包含:set -XOverloadedStrings
and :set prompt "ghci> "
)。
要搜索.ghci
我使用的文件-
这没有返回任何搜索结果。我查看了 Stack 文档,但找不到有关编辑.ghci
文件的信息。是否有可能保存:set -XOverloadedStrings
和:set prompt "ghci> "
某处?
haskell - 使用 Haskell Stack 构建工具的项目之间的依赖关系——最佳工作流程?
我刚刚使用stack
包管理器和构建工具开始了一个相对较大的 Haskell 项目,我正在尝试找出将其拆分为多个stack
项目的最佳方法,这些项目之间存在依赖关系。
本质上,虽然我相信我了解如何stack
在我的项目中包含从 Stackage 下载的外部包,但我不明白如何包含来自其他本地项目的包。如何使用stack
可以在其他项目中使用的库来创建库?