问题标签 [ghci]

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 投票
2 回答
3304 浏览

debugging - 有没有办法限制内存,ghci可以有吗?

我习惯于使用 ghci 调试我的代码。通常,会发生这样的事情(当然不是那么明显):

然后,一段时间内什么都没有发生,如果我反应不够快,ghci 可能会吃掉 2 GB 的 RAM,导致我的系统死机。如果为时已晚,解决此问题的唯一方法是 [ALT] + [PRINT] + [K]。

我的问题:有没有一种简单的方法来限制 ghci 可以消耗的内存,比如说 1 GB?如果超出限制,则应该终止计算或终止 ghci。

0 投票
4 回答
674 浏览

haskell - GHCI使用问题

我正在学习 Haskell,并使用 Emacs+Haskell 模式作为我的编辑器。

在 GHCi 中玩了一些简单的表达式后,我想知道 Visual Stuido for F# 中是否存在这些 IDE/编辑器功能:

  1. 我可以将剪贴板中的内容发送到解释器吗?目前我只能:将文件加载到解释器中。当我逐渐在脚本文件中编写函数时,这很不方便。就像视觉工作室中的“Alt+Enter”。

  2. 编译后希望能看到函数的签名,例如

    让双 x = x + x

以便我更好地理解 Haskell 中的类型推断机制。

0 投票
4 回答
1161 浏览

haskell - 是否可以在 GHCi 中定义新的 ADT

在评论 ghci 中的新功能时,我希望 ghci 能够声明类型声明和声明新的 ADT 类型,有人告知这确实是可能的,在搜索后我发现 这个页面告诉我我可以做到

显然,同样的语法适用于模式匹配(例如,让 a 1=True;a 2=False)。

创建 ADT 会使其几乎完美吗?有谁知道目前是否可行?我应该只制作一个 ADT 暂存文件并重新加载它吗?

PS 有谁知道有没有这样做的计划?是否有 ghc(i) 的功能要求?

我也知道它的开源,但我目前还不够聪明,无法破解 ghc(i)。

0 投票
2 回答
5938 浏览

haskell - 在 ghci 中为与模块相关的命令指定包名称

有没有办法为ghci (版本 6.12.1) 中的:browse,:load​​ 或命令指定模块的包名称?:module

一些模块名称不明确:

设置-hide-package选项是我唯一能避免歧义的方法吗?

0 投票
6 回答
997 浏览

haskell - 保存我正在运行的顶层以供以后使用

在顶层ocamlghci顶层工作时,我经常为需要更好的词、绑定值、函数、加载的模块等建立重要的“上下文”。有没有办法保存所有这些并在以后重新加载,这样我就可以从我离开的地方继续?或者更好的是,将整个文件作为文本文件转储出来,可以重新加载或修改成可以编译成可执行文件的代码(例如,通过添加 Main)?

0 投票
4 回答
776 浏览

haskell - Haskell(macports)中的负双打或浮点数

当我尝试显示负双精度或浮点数时,为什么会出现分段错误?负整数没有问题。

我尝试了各种方法,似乎正确理解了数字但未显示。版本信息:

0 投票
1 回答
219 浏览

functional-programming - 奇怪的 Haskell/GHCi 问题

所以我有一些代码*,当取三点时,应该返回一个方向。我已经编写了这个解决方案,但是每次我尝试运行它时,都会导致 GHCi 冻结,所以我想知道我做错了什么。这是代码:

我看不到递归,所以我不明白它为什么会这样。到目前为止,Haskell 编译器一直非常直言不讳地告诉我何时我正在做一些愚蠢的事情,但这编译得很好。

*这是“Real World Haskell”第 3 章中的问题 9,以防您想知道。

0 投票
2 回答
1355 浏览

haskell - 您将 .hs 文件放在哪个目录中,以便您可以在 GHCI 中使用 :l 加载它们?

我在 Windows 7 中运行 GHCI 6.4。我不知道将 .hs 文件添加到 .\ghc\ 目录的哪个子目录。每次我尝试使用 :l 时,它都会告诉我找不到该文件。有没有其他人遇到过这个问题?

编辑:谢谢你的回答。这两个看起来都可以工作,但我最终按照教授的建议使用了“:cd”命令。

0 投票
2 回答
1957 浏览

haskell - ghci 中的持久控制台历史记录

我认为,在 6.12.2 上,这对我有用。但是现在我在一个带有 6.12.3(通用 unix 二进制文件)的新盒子上,显然我缺少一些设置。

我在单个会话中的 ghci 中有一个控制台历史记录(即执行 ghci),但是此历史记录不会像以前那样在会话之间保存和重新加载。我什至无法跟踪 ghci 是否使用 readline、editline 或 haskeline,所以我不太确定从哪里开始解决这个问题。

0 投票
1 回答
354 浏览

haskell - 需要帮助为 blak 编写道具 :: Sudoku → [Pos] (Haskell)

我偶然发现了这个线程Haskell List Comprehension现在我正在尝试为它编写一个道具,指出这个函数中的所有单元格实际上都是空白的,但是在尝试编译它时只得到了以下错误消息。

无法将预期类型 '(a, b)' 与推断类型 '[Pos]' 在第一个参数 'fst'' namley 对和第二个 '(!!)' namley fst 对中的第一个参数'(行)bankey('行sud)'

编辑

我的问题是,我从空白中得到的列表是一个列表 [Pos],其中包含 [(Nothing,Nothing),(Nothing,Nothing)...etc]。

我想检查两个元素的所有元组实际上都是“Nothing”,即[Pos] 中的所有元素都是(Nothing,Nothing)。我该如何检查这个,任何人都可以写一个代码示例,我不擅长haskell语法。

编辑 2

这是一个soduku的例子

编辑 3 这是数独的定义方式