Glasgow Haskell Compiler是功能语言Haskell的最先进的开源编译器和交互式环境。使用此标签专门针对GHC的问题而不是关于Haskell的问题,因为除非另有说明,否则几乎所有人都将使用它。
在 Haskell 中似乎无法正确排列(缩进)此代码。 出现错误: 输入 `<-' Can anyone spot where the error is at: evalListSplitAt n stratPref stratSuff [] = retur...
我可以在 Haskell 中使用内联汇编(类似于 GCC 对 C 的作用)吗? 我想将我的 Haskell 代码与参考实现 (ASM) 进行比较,这似乎是最直接的方法。我
在下面的函数中,我想知道编译器是否足够聪明来计算出 x 将保持不变,或者它会计算列表中每个项目的列表头? (我是我们...
在包含 `cabal` 托管包 DB 的环境中使用 `cabal` 运行可执行文件
我有一个程序 A,它在内部调用 GHC-as-an-API 来编译其他一些 Haskell 模块 B。B 具有外部依赖项(包括编译时插件),这些依赖项在 .cabal 文件中记录为
我正在尝试编写一个简单的 Haskell 函数来区分空列表和非空列表。这是我的代码: didVsItems :: [Int] -> IO () didVsItems [] = putStrLn "完成&qu...
我正在浏览现实世界的 Haskell,并找到示例: -- 文件:ch04/InteractWith.hs -- 将其保存在源文件中,例如交互.hs 导入系统环境(getArgs) 交互功能...
当 lambda 表达式按值或按引用使用时,GHC 如何捕获变量的环境?
在这篇 stackoverflow 帖子中,有一些 C++ 代码试图模仿关联类型。当 lambda 函数使用引用捕获捕获环境(闭包)时,代码可以编译,但失败...
我的 C: 驱动器已满,因此我决定删除所有两个月以上的 Haskell 快照,因为我知道这可能会造成麻烦。 它确实做到了: ghc-9.8.2.exe: addLibrarySearchPath: \?\C:\sr\snapshots\d22c45...
我知道haskell中的ghc中有一个-S标志, 它生成一个 .s 文件,它是一个汇编文件。 我想知道GHC是否可以生成Intel语法的汇编文件?
从 Haskell 编译到 WASM 时,简单的递归和是二次的
以下 Haskell 函数: {-#语言ForeignFunctionInterface#-} 模块主要在哪里 导入数据.Word (Word32) 总和'::Word32 -> Word32 总和'0 = 0 总和'n = n + 总和'(n-1) 对外出口
我一直在尝试按照此处找到的教程使用 GHC API 进行一些基本的动态代码编译。 这段代码: 导入GHC 导入 GHC.Paths 导入 DynFlags 导入 Unsafe.Co...
按照此处发布的 GHC 教程并根据我之前提出的堆栈溢出问题中的建议对此代码进行更改,我创建了一个能够编译和运行 m...
是否可以在包含多行字符串文字的 Haskell 代码上使用 CPP 扩展? Haskell 还有其他条件编译技术吗? 例如,让我们看一下这段代码: --...
此处 OverloadedLabels 的 GHC 文档显示了如下示例 前导大写字母:#Foo 相当于 getLabel @”Foo” getLabel 应该是 fromLabel 吗? AFAIK getLabel 用于创建未命名
我想使用 Data.MemoCombinators 计算 Ackermann 函数的 A(3, 20) 值(参见维基百科),该值应该是 2^23 - 3 = 8388605。我的代码是: {-# 语言 BangPatterns #-} 导入...
幻像类型使模式匹配无可辩驳,但这在 do 表示法中似乎不起作用
请看代码。 我相信使用幻像类型使得模式匹配无可辩驳,因此不需要 MonadFail 实例。 {-# 语言数据种类 #-} {-# 语言 GADT #-} {-# 选项...
什么决定了 GHC(以及 Cabal、HLS、...)版本在 GHCup 中被标记为“推荐”?
我倾向于坚持“推荐”版本: ┌──────────────────────────────────GHCup────────────── ──────────────────┐ │ 工具版本标签注释...
GHCup 和 Cabal 在已安装软件包的版本方面存在混淆(系统方面和特定的 cabal 项目)
这是我在 $HOME 的终端中运行 ghcup tui 时看到的内容: ┌──────────────────────────────────GHCup────────────── ──────────────────┐ │ 工具版本标签...
我使用 cabal install timezone-series-0.1.5.1 安装了 timezone-series Haskell 模块。 然后我定义了一个名为 Main.hs 的模块,其开头为: 导入 Data.Time.LocalTime.TimeZone.Series -- 来自
当我在沙箱项目中运行 cabal install 时,我得到 /usr/bin/ld:找不到-lHSzlib-0.6.1.2-GcLmGV5PElZD6CJvjR9umm /usr/bin/ld:找不到-lHSasync-2.1.1.1-2GwQEYzLBsdIBCHbNA3HGy /usr/bin/ld: