Haskell 中的实例声明
我有这两个函数: primes = sieve [2..] where sieve (p:xs) = p : sieve [x|x 0] isPrime number = number /= 1 && null [x | x x < (ceiling . sqrt…
GHCi - 第二次运行时跳过断点
我是 Haskell 的新手,在调试时遇到了令人讨厌的行为。 我使用 :break 添加断点 我运行 main 一切正常 我输入 :continue 完成执行 当我重新运行 main …
如何为 GHCi 设置程序的命令行参数?
假设使用 Now 执行某个 Haskell 文件 runghc Queens.hs gecode_compile ,但失败了,我想使用 ghci 来调试它。如何将选项 gecode_compile 传递到程序…
在 Cygwin 中编译 Haskell 代码,以及 Windows 上 Haskell 平台中的一些其他错误
我正在尝试使用 Haskell Platform 2011.2.0.1 在 Haskell 中编译一个简单的 hello world 程序。如果我在 WinGHCi 中加载代码并使用 GUI 进行编译,则…
用 C++ 编写 Haskell 解释器(使用 ghc 或 Hugs 作为库)
我正在编写一个需要解释和评估 haskell 代码的 C++ 应用程序。该代码在编译时未知,但由用户给出。 有没有办法使用 haskell 编译器/解释器(如 GHCi …
我可以在 GHCi 中添加实例声明吗
我正在摆弄 HashMap 并尝试使用 Data.Bson.ObjectId 作为键。当然,我发现该结构没有 Hashable 实例。没关系,因为编写一个代码很简单。1 instance Ha…
GHCi 中的类型推断与手动签名
当我输入 :t map length . sum GHCi 时,它说类型将是: map length . sum :: Num [[a]] => [[[a]]] -> [Int] 但是,如果我创建一个包含 x :: Num [[a…
GHCi 如何为类型变量选择名称?
使用交互式 GHC 解释器时,可以请求表达式的推断类型: Prelude> :t map map :: (a -> b) -> [a] -> [b] 它似乎从签名中获取类型变量的名称,因为 map…
GHCi 中的多行命令
我在 ghci 中输入多行命令时遇到问题。 以下两行代码在文件中工作: addTwo :: Int -> Int -> Int addTwo x y = x + y 但是当我输入 ghci 时,出现错…
Haskell:使用 $ 的函数应用
在下面的代码片段中,您可以看到我用 Haskell 编写的两个 collatz 函数。对于递归应用程序,我在第一个示例 (collatz) 中使用括号来获得正确…
如何使用 ghci 加载没有 .hs 扩展名的 runhaskell 脚本?
我在 haskell 中编写了一个名为 testscript 的脚本,代码如下: #!/usr/bin/env runhaskell main = putStrLn "hello" 使脚本可执行后,我可以使用 ./t…
Haskell 给出类型错误的类型同义词
我正在尝试创建一个看起来像这样的类型同义词: data Result = Either String [Token] 我遇到了困难,因为在编译此代码时,当我尝试使用 [Token] 创建…
FreeGlut 在 ghci 中不起作用
我使用“Glut”编写了一个小程序 import Graphics.Rendering.OpenGL import Graphics.UI.GLUT main = do (progname, _) <- getArgsAndInitialize crea…
我怎样才能知道哪个 libstdc++双转换想要什么?
这是我在尝试将 .hs 文件加载到 ghci 时看到的错误。 >Loading package http-enumerator-0.7.1.1 ... linking ... done. >Loading package double-con…