ghci相关内容

`ghci`中的Haskell多行`let`

我在ghci中发现以下功能正常工作: let foo = ["a", "b", "c"] .但这不起作用: let bar = ["a", "b", "c"] .这也不是: let baz = ["a"] ++ ["b"] ++ ["c"] 当我尝试将其编译为文件时,提供了相同的错误, ..
发布时间:2022-09-06 12:43:48 其他开发

如何破解 GHCi(或 Hugs)以便打印未转义的 Unicode 字符?

看问题:通常,在交互式 Haskell 环境中,非拉丁 Unicode 字符(构成结果的一部分)被转义打印,即使语言环境允许此类字符(与通过 putStrLn, putChar 看起来不错且可读)--示例显示 GHCi 和 Hugs98: $ ghciGHCi,版本 7.0.1:http://www.haskell.org/ghc/:?求助前奏>“你好:привет"“你好:\1087\1088 ..
发布时间:2022-01-12 09:16:26 其他开发

Haskell 代码行未编译:“非法数据类型上下文"

我无法在 Haskell 中编译这行代码,但它适用于我教授的系统.我使用的是 ghci 版本 7.6.2. data Eq a =>形状 a = 形状 a 更准确地说,这是我得到的错误 [1 of 1] 编译 Main ( test.hs, 解释)测试.hs:1:6:非法数据类型上下文(使用 -XDatatypeContexts):Eq a =>失败,加载的模块:无. 这里有什么错误? ..
发布时间:2021-12-31 22:54:18 其他开发

为什么ghci 说1.1 + 1.1 + 1.1 >3.3 是真的吗?

我最近正在阅读 Haskell 教程,并在交互式 ghci shell 中尝试一些简单的 Haskell 表达式时注意到了这种行为: 前奏>1.1 + 1.1 == 2.2真的前奏>1.1 + 1.1 + 1.1 == 3.3错误的前奏>1.1 + 1.1 + 1.1 >3.3真的前奏>1.1 + 1.1 + 1.13.3000000000000003 有人知道这是为什么吗? 解决方案 ..
发布时间:2021-12-14 12:42:44 其他开发

使用 GHCi 在 Haskell 程序中调试无限循环

我第一次在编写的 Haskell 程序中遇到无限循环.我已经把它缩小到一个非常具体的代码部分,但我似乎无法准确指出我有一个非终止递归定义的确切位置.我对 GHCi 中的 :trace 和 :history 有点熟悉,但问题是我的代码的某些分支涉及对 Data.Map.Map 的相当多的递归修改,因为地图 x 是通过根据 x' 根据另一个地图中的值对地图 x' 中的某些内容进行调整获得的>.具体细节 ..
发布时间:2021-12-14 12:36:54 其他开发

GHCi“让"- 它有什么作用?

如果有人能指出有关“让"什么的文档,我将不胜感激.在 GHCi 中做到了,或者没有做到这一点,请令人信服地解释它. 据我所知,“让"(没有“in")本身不是 Haskell 语言的一部分,另一方面,它似乎也不是 GHCi 命令,因为它没有以冒号为前缀. 解决方案 在 GHCi 中编程时,您就像使用 do 语法在 IO monad 中编程,因此例如您可以直接执行一个IO 动作,或者使用 ..
发布时间:2021-12-14 12:15:45 其他开发

如何破解 GHCi(或 Hugs)以打印未转义的 Unicode 字符?

看问题:通常,在交互式 Haskell 环境中,非拉丁语 Unicode 字符(构成结果的一部分)被打印转义,即使语言环境允许此类字符(与通过 putStrLn, putChar 看起来不错且可读)--示例显示了 GHCi 和 Hugs98: $ ghciGHCi,7.0.1 版:http://www.haskell.org/ghc/:?求助前奏>“你好:привет"“你好:\1087\108 ..
发布时间:2021-12-14 12:13:19 其他开发

如何使用仍然使用 runhaskell/ghci 运行的库+可执行文件制作 Haskell Cabal 项目?

如果您在阴谋集团中声明一个库 + 可执行部分文件同时通过将库放入hs-source-dirs 目录来避免库的双重编译,您通常无法使用ghci 和 运行您的项目>runhaskell,尤其是当可执行文件本身有帮助模块时. 推荐的项目布局是什么 只构建一次需要的东西 允许使用 runhaskell 结构简洁,没有黑客攻击? 解决方案 假设你有一个 mylib 库,以及 myli ..
发布时间:2021-12-14 12:10:16 其他开发

在 ghci 中查看特定类型的 Typeclass 定义

有没有办法在 ghci 中查看特定类型的 Typeclass 定义? 例如,Maybe 是这样定义的: instance Functor 也许在哪里fmap f (Just x) = Just (f x)fmap f 无 = 无 我可以在 ghci 中看到这个吗? 当我在 ghci 中使用 :info 时,我得到了这个: 前奏>:我可能是数据 也许 a = 没有 |只是一个 -- ..
发布时间:2021-12-14 12:07:12 其他开发

GHCi 中特殊情况的函数定义

来自 Haskell 教程: 我们可以根据情况编写整数函数. -- 计算从 1 到 n 的整数之和.sumtorial :: 整数 ->整数总结 0 = 0求和 n = n + 求和 (n-1) 但是,当我尝试它时会发生以下情况: $ ghciGHCi,8.0.1 版:http://www.haskell.org/ghc/:?求助前奏>foo 0 = 打印 999前奏>foo n = ..
发布时间:2021-12-14 11:45:30 其他开发

GHCi 中的多行命令

我在 ghci 中输入多行命令时遇到问题. 以下 2 行代码适用于文件: addTwo :: Int ->内部 ->整数添加两个 x y = x + y 但是当我输入ghci时,出现错误: :1:1: 错误:变量不在范围内:addTwo :: Int ->内部 ->整数 我也尝试将代码放在 :{ ... :} 中,但它们也不适用于此示例,因为这只是将行附加到一行中,这不应该情况. ..
发布时间:2021-12-14 11:34:33 其他开发

如何跨多行在ghci中定义函数?

我正在尝试在 ghci 中定义任何跨越多行的简单函数,以以下为例: let abs n |n >= 0 = n|否则 = -n 到目前为止,我已经尝试在第一行之后按 Enter 键: 前奏>让 abs n |n >= 0 = n前奏>|否则 = -n:1:0: 输入`|' 解析错误 我也尝试使用 :{ 和 :} 命令,但我没有走远: 前奏>:{未知的命令 ':{ ..
发布时间:2021-12-14 11:32:19 其他开发

为什么 :sprint 总是打印“_"?

前奏>让 a = 3前奏>:冲刺一 = _前奏>让 c = "ab"前奏>:sprint cc = _ 为什么它总是打印_?我不太明白 :sprint 命令的语义. 解决方案 Haskell 是一种惰性语言.在“需要"结果之前,它不会评估结果. 现在,只需打印一个值就会导致“需要"所有这些值.换句话说,如果您在 GHCi 中键入一个表达式,它会尝试打印出结果,这会导致对所有结果进行 ..
发布时间:2021-12-14 08:39:10 其他开发

GHCi 中函数的非穷举模式

我想做一个显示列表最后一个元素的函数.这是我的代码: ghci>让 myLast :: [a] ->一种ghci>让 myLast [] = 错误ghci>让 myLast [x] = xghci>让 myLast (x:xs) = myLast xs 我收到以下错误: ***例外:函数 myLast 中的非穷尽模式 我知道您在丢失案例时会收到此错误,但我想我已经包含了所有可能性.有什么想 ..
发布时间:2021-12-07 23:20:18 其他开发

模棱两可的出现`Just'

我是绝对的初学者.使用emacs浏览LYAH. 我当前的设置: Ubuntu 12.04 LTS(使用经验-初学者) GNU Emacs 23(使用经验-初学者) 可以在haskell专业模式下工作 在此处所述的要点2中很难找到说明(带来haskell库)./a> 还需要指导来启用 Scion IDE . 问题: .hs代码 data可能是= Nothi ..
发布时间:2021-05-10 20:13:58 其他开发