问题标签 [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.
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。
haskell - 使用 GHCi Windows 的 Haskell 编译问题
我开发了一个 haskell 应用程序,该应用程序使用WinHugs解释器进行了测试,工作正常。当我尝试使用WinGHCi 编译相同的应用程序时,它会提示错误
我\t
在IO 程序中使用过显示文本
例子 :-putStr "\n \n \t \t Hello ! "
有什么解决办法吗?
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) 的情况下失败了。
haskell - Haskell:为什么 GHC 为 main 方法推断的类型不完全?
例如,拿 Don Stewart 写的代码来回答一些 Stack Overflow 问题:
将其加载到 GHCi 中。
为什么 main 的类型签名不能反映getArgs :: IO [String]
被调用的事实?
当你运行二进制文件时,你可以给出一个参数。
<prog> 145
返回Just 100
但在 GHCi 中,您不能:main 145
给出错误。你如何在 GHCi 中运行这个程序并给出一个论点。
haskell - 使用 GHC 编译 hs 文件时 -i 选项是什么以及如何在 GHCi 中执行相同操作?
好的,当我使用 GHC 进行编译时,我一直在使用-i
compile 选项将文件夹指定到某个 haskell 源。
我知道它在编译时将这些文件用作“库”,但我可以在 GHCi 中做同样的事情吗?
我通常导入 haskell 预打包的库,例如import Data.List
或:m +Data.List
.
我试过了import /d/haskell/src
——不行!
从 Haskell 文档编辑:第 2 章使用 GHCi
请注意,在 GHCi 和––make
模式中,该-i
选项用于指定源文件的搜索路径,而在标准批处理编译模式中,该-i
选项用于指定接口文件的搜索路径。
haskell - Haskell / GHCi - 从不同目录加载模块
我的 haskell 应用程序具有以下目录结构:
Subsystem
模块导入Utils
模块。我想在 GHCi 中手动测试这段代码。
问题是 GHCi 似乎只是在寻找'.'
(当前目录)中可用的模块,所以我复制Utils.hs
到子系统文件夹并能够手动测试Subsytem.hs
。有一个更好的方法吗?例如,我想在src
目录中启动 GHCi 并让它在./utils
和./subsystem
目录中搜索模块。我可以指定 GHCi 的模块路径吗?
haskell - 有什么方法可以在 do / while / let 块中打印出变量类型?
有没有办法打印出嵌套变量的推断类型ghci
?考虑代码,
然后,最好查询 的类型g
,例如:t f.g
打印出来Int -> Int
。
haskell - Haskell 的类型推断异常
查看 ghci 的输出:
为什么look
推断类型与类型不同flip Data.Map.lookup
?
给你一些背景。最初我有一个小程序,并试图弄清楚它为什么会产生编译器错误:
Ghci 的反应:
我发现这个变体编译得很好(类型定义是一样的):
经过一些实验后发现,如果我look
明确输入 type of - 第一个版本也编译得很好:
这引出了我的第一个问题。
haskell - 提示符下的单子?
是否可以在 GHCi 提示符下逐步与任意 Monad 实例交互?
您可以交互输入“do”命令:
但据我所知,一切都被迫进入 IO () Monad。如果我想与任意 Monad 交互怎么办?
我是否被迫在巨人内部编写整个命令序列do { ... }
和/或直接使用中缀运算符?没关系,但我更喜欢“输入”一个任意的单子并一次与它交互一行。
可能的?
haskell - 为什么这个 Haskell 在扩展时会抱怨模棱两可的类型?
以下返回 True(因为 2147483647 是素数)。
当我尝试如下扩展它时,为什么它不起作用?
不过我不明白,为什么使用地板会产生 RealFrac?我以为 floor 采用了 RealFracs 并生产了 Integrals?另外它并没有抱怨上面的例子,我只是像那时一样输入更多的整数。