ghci相关内容
我在ghci中发现以下功能正常工作: let foo = ["a", "b", "c"] .但这不起作用: let bar = ["a", "b", "c"] .这也不是: let baz = ["a"] ++ ["b"] ++ ["c"] 当我尝试将其编译为文件时,提供了相同的错误,
..
我在Win 10上使用GHCi 8.10.2。 我有一个名为srcLoadAndInteractiveDiffer.hs的源文件,其中只包含: module LoadAndInteractiveDiffer where testNothingIsNothing = Nothing == Nothing 将其加载到GHCi时,我收到: Prelude> :l src/LoadAn
..
从 monad 出来的函数的类型发生了一些变化. 在 GHCI 中: >:t 地图地图 :: (a -> b) ->[一]->[乙]>a :ta :: (GHC.Prim.Any -> GHC.Prim.Any)->[GHC.Prim.Any] ->[GHC.Prim.Any] 此更改使函数难以存储在更高级别的类型中. 这里发生了什么,我可以让它不发生吗? (
..
看问题:通常,在交互式 Haskell 环境中,非拉丁 Unicode 字符(构成结果的一部分)被转义打印,即使语言环境允许此类字符(与通过 putStrLn, putChar 看起来不错且可读)--示例显示 GHCi 和 Hugs98: $ ghciGHCi,版本 7.0.1:http://www.haskell.org/ghc/:?求助前奏>“你好:привет"“你好:\1087\1088
..
我有以下代码: 导入 Control.Monad硬币 :: MonadPlus m =>薄荷硬币 = 返回 0 `mplus` 返回 1 如果我在解释器上计算 coin :: Maybe Int,它会显示 Just 0.这是正常的,因为 May 是作为 MonadPlus 的实例实现的. 如果我在解释器上计算 coin :: [Int],它会打印 [0, 1],因为 mplus 的实现列
..
我无法在 Haskell 中编译这行代码,但它适用于我教授的系统.我使用的是 ghci 版本 7.6.2. data Eq a =>形状 a = 形状 a 更准确地说,这是我得到的错误 [1 of 1] 编译 Main ( test.hs, 解释)测试.hs:1:6:非法数据类型上下文(使用 -XDatatypeContexts):Eq a =>失败,加载的模块:无. 这里有什么错误?
..
考虑以下程序.它永远运行并且没有任何用处,但是 ghci 中的内存消耗是恒定的: --NoExplode.hs模块 Main (main) where测试 :: [Int] ->IO()测试 lst = 做打印“测试"列表列表rList :: [Int] ->输入口 ()rList [] = 返回()rList (x:xs) = 做rList xs主要 = 做测试 [1..] 现在考虑上面的以
..
在我的用户从我的应用程序菜单中选择一个选项后,如何清除终端屏幕? 解决方案 :! 运行 shell 命令 :!windows下的cls :!清除在linux和OS X下
..
我最近正在阅读 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 有人知道这是为什么吗? 解决方案
..
我第一次在编写的 Haskell 程序中遇到无限循环.我已经把它缩小到一个非常具体的代码部分,但我似乎无法准确指出我有一个非终止递归定义的确切位置.我对 GHCi 中的 :trace 和 :history 有点熟悉,但问题是我的代码的某些分支涉及对 Data.Map.Map 的相当多的递归修改,因为地图 x 是通过根据 x' 根据另一个地图中的值对地图 x' 中的某些内容进行调整获得的>.具体细节
..
如果有人能指出有关“让"什么的文档,我将不胜感激.在 GHCi 中做到了,或者没有做到这一点,请令人信服地解释它. 据我所知,“让"(没有“in")本身不是 Haskell 语言的一部分,另一方面,它似乎也不是 GHCi 命令,因为它没有以冒号为前缀. 解决方案 在 GHCi 中编程时,您就像使用 do 语法在 IO monad 中编程,因此例如您可以直接执行一个IO 动作,或者使用
..
看问题:通常,在交互式 Haskell 环境中,非拉丁语 Unicode 字符(构成结果的一部分)被打印转义,即使语言环境允许此类字符(与通过 putStrLn, putChar 看起来不错且可读)--示例显示了 GHCi 和 Hugs98: $ ghciGHCi,7.0.1 版:http://www.haskell.org/ghc/:?求助前奏>“你好:привет"“你好:\1087\108
..
如果您在阴谋集团中声明一个库 + 可执行部分文件同时通过将库放入hs-source-dirs 目录来避免库的双重编译,您通常无法使用ghci 和 运行您的项目>runhaskell,尤其是当可执行文件本身有帮助模块时. 推荐的项目布局是什么 只构建一次需要的东西 允许使用 runhaskell 结构简洁,没有黑客攻击? 解决方案 假设你有一个 mylib 库,以及 myli
..
有没有办法在 ghci 中查看特定类型的 Typeclass 定义? 例如,Maybe 是这样定义的: instance Functor 也许在哪里fmap f (Just x) = Just (f x)fmap f 无 = 无 我可以在 ghci 中看到这个吗? 当我在 ghci 中使用 :info 时,我得到了这个: 前奏>:我可能是数据 也许 a = 没有 |只是一个 --
..
来自 Haskell 教程: 我们可以根据情况编写整数函数. -- 计算从 1 到 n 的整数之和.sumtorial :: 整数 ->整数总结 0 = 0求和 n = n + 求和 (n-1) 但是,当我尝试它时会发生以下情况: $ ghciGHCi,8.0.1 版:http://www.haskell.org/ghc/:?求助前奏>foo 0 = 打印 999前奏>foo n =
..
我在 ghci 中输入多行命令时遇到问题. 以下 2 行代码适用于文件: addTwo :: Int ->内部 ->整数添加两个 x y = x + y 但是当我输入ghci时,出现错误: :1:1: 错误:变量不在范围内:addTwo :: Int ->内部 ->整数 我也尝试将代码放在 :{ ... :} 中,但它们也不适用于此示例,因为这只是将行附加到一行中,这不应该情况.
..
我正在尝试在 ghci 中定义任何跨越多行的简单函数,以以下为例: let abs n |n >= 0 = n|否则 = -n 到目前为止,我已经尝试在第一行之后按 Enter 键: 前奏>让 abs n |n >= 0 = n前奏>|否则 = -n:1:0: 输入`|' 解析错误 我也尝试使用 :{ 和 :} 命令,但我没有走远: 前奏>:{未知的命令 ':{
..
前奏>让 a = 3前奏>:冲刺一 = _前奏>让 c = "ab"前奏>:sprint cc = _ 为什么它总是打印_?我不太明白 :sprint 命令的语义. 解决方案 Haskell 是一种惰性语言.在“需要"结果之前,它不会评估结果. 现在,只需打印一个值就会导致“需要"所有这些值.换句话说,如果您在 GHCi 中键入一个表达式,它会尝试打印出结果,这会导致对所有结果进行
..
我想做一个显示列表最后一个元素的函数.这是我的代码: ghci>让 myLast :: [a] ->一种ghci>让 myLast [] = 错误ghci>让 myLast [x] = xghci>让 myLast (x:xs) = myLast xs 我收到以下错误: ***例外:函数 myLast 中的非穷尽模式 我知道您在丢失案例时会收到此错误,但我想我已经包含了所有可能性.有什么想
..
我是绝对的初学者.使用emacs浏览LYAH. 我当前的设置: Ubuntu 12.04 LTS(使用经验-初学者) GNU Emacs 23(使用经验-初学者) 可以在haskell专业模式下工作 在此处所述的要点2中很难找到说明(带来haskell库)./a> 还需要指导来启用 Scion IDE . 问题: .hs代码 data可能是= Nothi
..