ghc 相关问题

Glasgow Haskell Compiler是功能语言Haskell的最先进的开源编译器和交互式环境。使用此标签专门针对GHC的问题而不是关于Haskell的问题,因为除非另有说明,否则几乎所有人都将使用它。

Haskell 编译器

AFAIK GHC 是当今最常见的编译器,但我也看到,其他一些编译器也可用。 GHC 真的是适合所有用途的最佳选择吗?或者我可以使用其他东西来代替吗?例如...

回答 5 投票 0

Haskell 输入 `<-'

在 Haskell 中似乎无法正确排列(缩进)此代码。 出现错误: 输入 `<-' Can anyone spot where the error is at: evalListSplitAt n stratPref stratSuff [] = retur...

回答 1 投票 0

Haskell 中的内联汇编

我可以在 Haskell 中使用内联汇编(类似于 GCC 对 C 的作用)吗? 我想将我的 Haskell 代码与参考实现 (ASM) 进行比较,这似乎是最直接的方法。我

回答 1 投票 0

Haskell 编译器如何处理 'where' 语句?

在下面的函数中,我想知道编译器是否足够聪明来计算出 x 将保持不变,或者它会计算列表中每个项目的列表头? (我是我们...

回答 2 投票 0

在包含 `cabal` 托管包 DB 的环境中使用 `cabal` 运行可执行文件

我有一个程序 A,它在内部调用 GHC-as-an-API 来编译其他一些 Haskell 模块 B。B 具有外部依赖项(包括编译时插件),这些依赖项在 .cabal 文件中记录为

回答 1 投票 0

GHC 警告:尽管空列表上显式匹配,但列表的非详尽模式匹配

我正在尝试编写一个简单的 Haskell 函数来区分空列表和非空列表。这是我的代码: didVsItems :: [Int] -> IO () didVsItems [] = putStrLn "完成&qu...

回答 1 投票 0

编译时“无法执行带符号的 4 字节重定位”

我正在浏览现实世界的 Haskell,并找到示例: -- 文件:ch04/InteractWith.hs -- 将其保存在源文件中,例如交互.hs 导入系统环境(getArgs) 交互功能...

回答 2 投票 0

当 lambda 表达式按值或按引用使用时,GHC 如何捕获变量的环境?

在这篇 stackoverflow 帖子中,有一些 C++ 代码试图模仿关联类型。当 lambda 函数使用引用捕获捕获环境(闭包)时,代码可以编译,但失败...

回答 1 投票 0

删除GHC快照后如何修复丢失的依赖项?

我的 C: 驱动器已满,因此我决定删除所有两个月以上的 Haskell 快照,因为我知道这可能会造成麻烦。 它确实做到了: ghc-9.8.2.exe: addLibrarySearchPath: \?\C:\sr\snapshots\d22c45...

回答 1 投票 0

如何从haskell的ghc生成Intel汇编语法?

我知道haskell中的ghc中有一个-S标志, 它生成一个 .s 文件,它是一个汇编文件。 我想知道GHC是否可以生成Intel语法的汇编文件?

回答 1 投票 0

从 Haskell 编译到 WASM 时,简单的递归和是二次的

以下 Haskell 函数: {-#语言ForeignFunctionInterface#-} 模块主要在哪里 导入数据.Word (Word32) 总和'::Word32 -> Word32 总和'0 = 0 总和'n = n + 总和'(n-1) 对外出口

回答 1 投票 0

Haskell GHC API 中的动态编译错误

我一直在尝试按照此处找到的教程使用 GHC API 进行一些基本的动态代码编译。 这段代码: 导入GHC 导入 GHC.Paths 导入 DynFlags 导入 Unsafe.Co...

回答 2 投票 0

Haskell GHC 动态编译仅适用于第一次编译

按照此处发布的 GHC 教程并根据我之前提出的堆栈溢出问题中的建议对此代码进行更改,我创建了一个能够编译和运行 m...

回答 1 投票 0

Haskell 中的 CPP 扩展和多行文字

是否可以在包含多行字符串文字的 Haskell 代码上使用 CPP 扩展? Haskell 还有其他条件编译技术吗? 例如,让我们看一下这段代码: --...

回答 3 投票 0

`getLabel` 或 `fromLabel`

此处 OverloadedLabels 的 GHC 文档显示了如下示例 前导大写字母:#Foo 相当于 getLabel @”Foo” getLabel 应该是 fromLabel 吗? AFAIK getLabel 用于创建未命名

回答 1 投票 0

阿克曼函数的记忆化

我想使用 Data.MemoCombinators 计算 Ackermann 函数的 A(3, 20) 值(参见维基百科),该值应该是 2^23 - 3 = 8388605。我的代码是: {-# 语言 BangPatterns #-} 导入...

回答 3 投票 0

幻像类型使模式匹配无可辩驳,但这在 do 表示法中似乎不起作用

请看代码。 我相信使用幻像类型使得模式匹配无可辩驳,因此不需要 MonadFail 实例。 {-# 语言数据种类 #-} {-# 语言 GADT #-} {-# 选项...

回答 1 投票 0

什么决定了 GHC(以及 Cabal、HLS、...)版本在 GHCup 中被标记为“推荐”?

我倾向于坚持“推荐”版本: ┌──────────────────────────────────GHCup────────────── ──────────────────┐ │ 工具版本标签注释...

回答 1 投票 0

GHCup 和 Cabal 在已安装软件包的版本方面存在混淆(系统方面和特定的 cabal 项目)

这是我在 $HOME 的终端中运行 ghcup tui 时看到的内容: ┌──────────────────────────────────GHCup────────────── ──────────────────┐ │ 工具版本标签...

回答 1 投票 0

如何导入使用 Cabal 安装的 Haskell 模块?

我使用 cabal install timezone-series-0.1.5.1 安装了 timezone-series Haskell 模块。 然后我定义了一个名为 Main.hs 的模块,其开头为: 导入 Data.Time.LocalTime.TimeZone.Series -- 来自

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.