问题标签 [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 投票
1 回答
260 浏览

haskell - 为什么 GHCi 奇怪地键入此语句?

在回答有关 stackoverflow 的问题时,我注意到 GHCi(交互式)在let语句中分配了一个过于严格的类型。即,给定代码,

(如我对https://stackoverflow.com/questions/6281813/maximum-of-list-and-count-of-repeat-maximum-number/6283594#6283594的回答),如果一个人在之前f和在 ghci 中输入 this,它会给出以下类型信息

而仅仅询问表达式的类型会给出正确的结果,即Ord a => [a] -> (a, Int). 我正在使用 ghc 7.0.3。

0 投票
1 回答
335 浏览

haskell - 使用 GHCi Windows 的 Haskell 编译问题

我开发了一个 haskell 应用程序,该应用程序使用WinHugs解释器进行了测试,工作正常。当我尝试使用WinGHCi 编译相同的应用程序时,它会提示错误

\tIO 程序中使用过显示文本

例子 :-putStr "\n \n \t \t Hello ! "

有什么解决办法吗?

0 投票
1 回答
427 浏览

haskell - 缺少实例错误、模块加载和 GHCi

它来自另一个问题,但情况发生了变化。

Parsec 函数“parse”和“Stream”类的类型签名

我现在想知道如何import使事情变得不同。


文件:RunParse.hs


(我使用的是 ghc 7.0.4)

将文件加载到 ghci 中:

它告诉我:



然后我添加了(1)或(2):

然后:l RunParse,加载成功。

然后我删除所有(1)和(2),然后:l RunParse,仍然成功!

然后我:q退出了ghci,重启了ghci,和启动一样,加载失败。

这是 ghc 的错误,还是我应该了解更多import

PS RunParse.hs 在ghc -c --make RunParse.hs没有 (1) 和 (2) 的情况下失败了。

0 投票
2 回答
682 浏览

haskell - Haskell:为什么 GHC 为 main 方法推断的类型不完全?

例如,拿 Don Stewart 写的代码来回答一些 Stack Overflow 问题:

将其加载到 GHCi 中。

为什么 main 的类型签名不能反映getArgs :: IO [String]被调用的事实?

当你运行二进制文件时,你可以给出一个参数。 <prog> 145返回Just 100 但在 GHCi 中,您不能:main 145给出错误。你如何在 GHCi 中运行这个程序并给出一个论点。

0 投票
2 回答
756 浏览

haskell - 使用 GHC 编译 hs 文件时 -i 选项是什么以及如何在 GHCi 中执行相同操作?

好的,当我使用 GHC 进行编译时,我一直在使用-icompile 选项将文件夹指定到某个 haskell 源。

我知道它在编译时将这些文件用作“库”,但我可以在 GHCi 中做同样的事情吗?

我通常导入 haskell 预打包的库,例如import Data.List:m +Data.List.

我试过了import /d/haskell/src——不行!

从 Haskell 文档编辑:第 2 章使用 GHCi 请注意,在 GHCi 和––make模式中,该-i选项用于指定源文件的搜索路径,而在标准批处理编译模式中,该-i选项用于指定接口文件的搜索路径。

0 投票
4 回答
9347 浏览

haskell - Haskell / GHCi - 从不同目录加载模块

我的 haskell 应用程序具有以下目录结构:

Subsystem模块导入Utils模块。我想在 GHCi 中手动测试这段代码。

问题是 GHCi 似乎只是在寻找'.'(当前目录)中可用的模块,所以我复制Utils.hs到子系统文件夹并能够手动测试Subsytem.hs。有一个更好的方法吗?例如,我想在src目录中启动 GHCi 并让它在./utils./subsystem目录中搜索模块。我可以指定 GHCi 的模块路径吗?

0 投票
2 回答
8626 浏览

haskell - 有什么方法可以在 do / while / let 块中打印出变量类型?

有没有办法打印出嵌套变量的推断类型ghci?考虑代码,

然后,最好查询 的类型g,例如:t f.g打印出来Int -> Int

0 投票
1 回答
482 浏览

haskell - Haskell 的类型推断异常

查看 ghci 的输出:

为什么look推断类型与类型不同flip Data.Map.lookup


给你一些背景。最初我有一个小程序,并试图弄清楚它为什么会产生编译器错误:

Ghci 的反应:

我发现这个变体编译得很好(类型定义是一样的):

经过一些实验后发现,如果我look明确输入 type of - 第一个版本也编译得很好:

这引出了我的第一个问题。

0 投票
2 回答
872 浏览

haskell - 提示符下的单子?

是否可以在 GHCi 提示符下逐步与任意 Monad 实例交互?

您可以交互输入“do”命令:

但据我所知,一切都被迫进入 IO () Monad。如果我想与任意 Monad 交互怎么办?

我是否被迫在巨人内部编写整个命令序列do { ... }和/或直接使用中缀运算符?没关系,但我更喜欢“输入”一个任意的单子并一次与它交互一行。

可能的?

0 投票
2 回答
294 浏览

haskell - 为什么这个 Haskell 在扩展时会抱怨模棱两可的类型?

以下返回 True(因为 2147483647 是素数)。

当我尝试如下扩展它时,为什么它不起作用?

不过我不明白,为什么使用地板会产生 RealFrac?我以为 floor 采用了 RealFracs 并生产了 Integrals?另外它并没有抱怨上面的例子,我只是像那时一样输入更多的整数。