问题标签 [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.

0 投票
1 回答
2605 浏览

haskell - 将 HSpec 与堆栈一起使用

我有以下架构:


我的 .cabal 文件包含以下内容

但是当我这样做时

HSpec 找不到我的测试 int MessageSpec.hs。

在 0.0002 秒内完成 0 个示例,0 个失败

Spec.hs 是正确的输入:{-# OPTIONS_GHC -F -pgmF hspec-discover #-}

我的 MessageSpec 模块正在公开:模块 MessageSpec (main, spec)。

你能帮我找到一种方法让我的堆栈项目完成我的所有测试吗?

谢谢,

0 投票
0 回答
517 浏览

haskell-stack - 便携式 Haskell 堆栈安装在 USB 棒上

我正在尝试使用 msys2 和堆栈在我的 USB 棒中制作便携式 Haskell 开发环境。

  • 在 U 盘上安装 msys2。
  • set STACK_ROOT=f:\stack在 msys2_shell.bat 中。# f 是 U 盘
  • 复制stack.exe到 msys2/usr/bin目录。

我已经更改了local-bin-path配置f:\stack\config.yaml。它看起来像工作。

但是,stack setup命令仍然在系统目录 somwhere 上安装 ghc,例如C:\Users\Administrator\AppData\Local\Programs\stack\i386-windows\ghc-7.10.3.

我怎么能告诉堆栈在 USB 棒(cutom 目录)上安装 ghc?

0 投票
0 回答
325 浏览

haskell - 堆栈设置 7.10.3 仅安装 7.10.2

有人可以解释为什么stack setup 7.10.3只安装7.10.2吗?

这是一个问题,因为我正在尝试安装 iHaskell:

我安装了7.10.3另一种方式......它位于我计算机的不同部分,/opt/ghc/7.10.3所以现在有两个不同版本的 GHC 浮动。对于一些进一步的混淆,which指向我在堆栈中安装的版本:

为什么一开始就不能堆叠安装7.10.3至少我可以知道stack我把它放在哪里了。


0 投票
1 回答
471 浏览

haskell - 堆栈设置因软件包安装错误而失败

我试图让堆栈第一次运行,但stack setup在示例项目(from stack new helloworld new-template)中运行失败并显示以下输出(我跳过了开头,我认为这是正常的):

我在 Ubuntu 14.04 上,运行堆栈 1.0.2。不确定它是否相关,但我已经在系统上安装了带有 Cabal 1.23.0.0 的 ghc 7.10.1,它工作正常。

我尝试将解析器更改为具有旧 ghc 版本的旧 LTS 版本。我也试过删除~/.stack. 考虑到错误的无用性,不确定还有什么可以尝试的。

0 投票
3 回答
218 浏览

haskell - cabal 更新期间出现很多错误,最终无法正常工作

首先感谢您帮助我解决与 cabal xD 的灾难...

我正在使用 OS X El Capitan 10.11.3,64 位。

我从 2013 年 5 月的 2013.2.0.0 的https://www.haskell.org/platform/prior.html安装了 Haskell 平台,特别是因为我需要使用 ghc 7.6.3

然后当我执行 cabal update 时......我的头痛开始了......

然后...我尝试安装二进制文件并...

  • 我的 ghc --version 是 Glorious Glasgow Haskell 编译系统,版本 7.6.3

  • 我的 cabal --version 是 使用 Cabal 库的 1.16.0 版本的 cabal-install 版本 1.16.0.2

感谢您的关注。

0 投票
2 回答
408 浏览

bash - 如何使用`stack`在Main上下文中执行Haskell代码?

我想做这样的事情

但是,当我执行时,stderr告诉我


我还尝试将代码导入stack ghci,这让我更接近:

如您所见,输出(只是3本示例中的数字)文件被GHCi.

我希望文件的内容改为:


我怎么能

  1. 加载stack eval我文件中指定的所有项目模块以.cabal在上下文中执行代码,或者
  2. 将 GHCi 输出抑制到stdout? (我不介意 GHCi 是否会发送消息stderr


编辑:添加了 unix 和 bash 标记,因为stack即使GHCi没有来自stack.

0 投票
1 回答
183 浏览

haskell - 开始新项目时如何让堆栈始终使用最新的 LTS?

总是要到stackage.org检查最新的 LTS 版本,然后输入命令有点麻烦:

有没有办法让堆栈始终发现最新的 LTS 并将其用于新项目?

0 投票
0 回答
193 浏览

haskell - 与 Stack 和 Nix 的重复库链接

我正在使用stack的支持nix来构建一个依赖于gfortran. 一切正常,但运行时出现错误:

但是当我ldd在二进制文件上运行时,我得到两个条目libgfortran

也就是说,它正确链接但仅针对两个条目之一。有解决方案吗?问题的根源可能是什么?

有关信息,该项目依赖于openblas并且arpacknix在 Arch Linux 中使用。

0 投票
2 回答
709 浏览

haskell - Haskell, Limit GHCI memory

I already found this question and the answers to it.

On the accepted answer you can see my comment about the solution. It doesn't seem to work for example for this function:

It still renders the system unusable, even if I only give GHCI 256Mb Heap and 256Mb Stack space. For a simple call of length (of an infinite list) it does work.

My question now is: What does the solution for all cases look like? (Is there one? If not, why not?)

Edit #1: Additional information

  • OS: Xubuntu 14.04
  • RAM: 4GB
  • Exact command I used for GHCI: stack ghci +RTS -M256m -K256m
  • GHC Version: stack ghc -v results in:

    /li>
0 投票
1 回答
880 浏览

haskell - Haskell:调试堆栈项目的长编译时间

我目前正在使用 Stack 构建一个项目,总共大约 80 个模块和 13,000 行代码。目前,编译我的类型文件需要大约 3 分钟,这是不可接受的——它阻止我通过堆栈 ghci 快速测试我的代码。它还显着减慢了许多事情的速度:例如,与同行结对编程或咨询专家。

我希望能够弄清楚为什么编译需要这么长时间,以及我能做些什么来加快它。有什么方法可以分析编译时间吗?

此外,我如何判断是堆栈还是 ghc 慢?

我知道设置 -O0,尽管这似乎对编译时间没有帮助。我也知道 TemplateHaskell 和 Typeclass Resolution 可能需要一段时间——有什么办法可以更好地解决这些问题需要多长时间?

注意:我在 GHC 中看到了 Speed up compilation,但那是从 2013 年开始的,hdevtools 目前在我的设置中不起作用。