问题标签 [ghc]

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 投票
2 回答
565 浏览

compiler-construction - 编译时“不能进行带符号的 4 字节重定位”

我正在经历Real world Haskell,并得到了这个例子:

但是当我尝试编译它(ghc --make InteractWith)时,我得到了这个错误:

我在 Mac OS 10.6 (Snow Leopard) 上使用 GHC 6.10.4。

0 投票
2 回答
2047 浏览

haskell - 如何自定义 GHCi 的 Readline 键绑定?

我知道 GHCi 支持 Readline,以及诸如^W^U按预期工作的键绑定。

我确实想知道 ghci 是否支持自定义键绑定,就像 Bash 处理 inputrc 一样。

0 投票
3 回答
2854 浏览

haskell - 让 Cabal 使用 GHC 6.12.1

我在 OS X 上安装了最新的 GHC 包 (6.12.1),但我无法让 Cabal 工作。我已经删除了之前使用 GHC 6.10 的版本,并尝试从头开始重新安装。可供下载的最新 Cabal 版本是 1.6.0.2。但是,当我尝试构建它时,我收到以下错误:

从我的搜索结果来看,这似乎表明 Cabal 的版本对于 GHC 的版本来说太旧了。有什么方法可以让 Cabal 使用 GHC 6.12.1 吗?

编辑:要清楚,我正在尝试设置cabal-install.

0 投票
1 回答
688 浏览

c++ - 在 haskell 的 FFI 后面使用 stdout/stderr/stdin 流

我正在开发一个使用我用 C++ 开发的外部静态库的小型 haskell 程序。它通过 ghc 的 FFI(外部函数接口)访问 lib。在这个库中,我想对控制台做一些输出。但是,在我看来,事情的 c++ 方面没有正确的标准输出句柄,因为输出没有出现在控制台上。那么,我的问题是:

  • ghc 会劫持这三个流(stdout、stdin、stderr)还是 libstdc++ 只是因为我与 ghc 链接而没有初始化它们?
  • 如果它们写入标准输出,我的 FFI 导入是否需要“安全”?
  • 如何将标准输出传递给 C 函数?我应该直接传递它还是需要一个 C 类型?

附加说明:我将 libstdc++ 直接链接到可执行文件(即 ghc -lstdc++ ...),我天真地认为这是正确的做法。似乎运作良好

免责声明:对 Haskell 来说还是很新的,所以现在是婴儿步骤;P

0 投票
5 回答
631 浏览

haskell - Haskell 编译基础

我正在研究第二欧拉问题,但现在我只是想定义斐波那契数列。目前,我将 Fib 函数定义为

因为我希望程序依赖于我的键盘输入,所以我使用了

并将 x 定义为x = read "index"

我很确定我把缩进和语法都搞砸了。根据我修改代码的方式,运行“ghc /dir/file.hs”会得到类似“不在范围内:数据构造函数‘Fib’”或“解析错误(可能是不正确的缩进)”之类的东西。我真的,真的不不知道我在做什么,尤其是关于如何设置 .hs 以使其对编译器友好。我已经阅读了大约 7 个关于使用 GHC 编译的教程,但他们似乎都跳过了他们解释的部分编译的基本要求。

如果有帮助,请告诉我如何更具体。我认为我试图理解的两件事是整个“主要”事物与编译的关系,以及如何让我认识到我已经将 Fib 定义为一个函数,即使它说它不在范围内。

PS:这里的缩进我想不通,Stack好像想把所有的东西都放在一行里,所以我只好把它都分开了。对不起。

0 投票
3 回答
10258 浏览

haskell - (Floating Int) 没有实例

我正在学习 Haskell。我创建了函数,它在基数“b”中返回乘法表直到“n”。数字被填充到“w”位。作为最后一步,我想自动计算“w”。为什么这不编译?

错误:

0 投票
7 回答
12498 浏览

haskell - 将 Haskell 程序作为 C 源代码分发

假设我有一个 Haskell 程序或库,我想让非 Haskell 人员(可能是 C 程序员)可以访问。我可以使用 GHC 将其编译为 C,然后将其作为 C 源代码分发吗?

如果这是可能的,有人可以提供一个最小的例子吗?(例如,一个 Makefile)

是否可以使用 GHC 自动确定需要哪些编译器标志和头文件,然后将其捆绑到一个文件夹中?

基本上我感兴趣的是能够用 C 和 Haskell 编写程序的一部分,然后将其作为 tarball 分发,但不需要目标安装 GHC 和 Cabal。

0 投票
1 回答
656 浏览

haskell - 在haskell中使用oneOf,编译时出错

我是 Haskell 的新手。我正在尝试编译我下载的这个 Haskell 文件,但它给了我一些错误。

不确定这是否足够,但这是有错误的代码部分:

0 投票
3 回答
10601 浏览

unicode - 使用 Haskell 输出 UTF-8 编码的 ByteString

0 投票
1 回答
235 浏览

haskell - 了解 Haskell 分析器输出 - 什么是 ==_a3JO

我正在用 Haskell 编写一些优化应用程序,我只是通过分析器运行它。我可以看到许多函数和一个奇怪的符号“==_a3JO”(有时是不同的数字和字母)。它代表什么?

样本输出: