首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用runhaskell增加堆栈大小?

如何使用runhaskell增加堆栈大小?
EN

Stack Overflow用户
提问于 2008-11-08 21:48:43
回答 3查看 2.6K关注 0票数 10

我正在编写一些一次性的Haskell脚本来解决一些Project Euler问题。我真的不想编译它们,因为我必须不断地进行大量的更改,但在一些情况下,我发现我已经用完了堆栈空间。

runhaskell的文档指出,以下语法应该会增加堆栈空间:

代码语言:javascript
复制
runhaskell +RTS -K5M -RTS Script.hs

这永远不会起作用(在我尝试过的任何排列中)。堆栈大小始终保持为8,388,608。这太让人抓狂了,而且我在Google上也找不到多少帮助。

有什么建议吗?我做错了什么?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2008-11-09 04:53:43

我猜你用的是GHC。最新发布的6.10.1的用户指南的第4章说:

当前唯一的runghc标志是-f /path/ to / GHC,它告诉runghc使用哪个GHC来运行程序。

我在http://hackage.haskell.org/trac/ghc上没有看到记录的bug。在我看来是很差劲的。我建议在irc #ghc或cvs-ghc邮件列表上询问。

在其他Haskell编译器/解释器中,似乎只有nhc98允许您设置最大堆栈大小。根据您的操作系统,nhc98可能是一个选择。

票数 8
EN

Stack Overflow用户

发布于 2009-01-10 23:46:57

我正在做同样的事情(Project Euler),并且一直在使用ghc。诀窍(感谢#haskell!)是告诉可执行文件具有更大的堆栈大小,而不是编译器。

代码语言:javascript
复制
$ ghc -O2 -o 23 23.hs
$ ./23 +RTS -K128M
票数 2
EN

Stack Overflow用户

发布于 2008-11-09 04:59:34

编译它就行了。

问题123.hs:

代码语言:javascript
复制
module Main where
main = do
    print solution
solution = ...

简短美观的命令行:

代码语言:javascript
复制
ghc --make -O3 Problem123.hs
./Problem123

最后注意:我不确定我是否会称它们为“脚本”。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/275250

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档