Haskell 中通过 unsafePerformIO 的全局变量
GHC API 要求在调用之前进行一些初始化。具体来说,parseStaticFlags 只能调用一次。 我有可以调用 runGhc :: MaybeFilePath :: Ghc a -> 的函数多次 …
使用 GHC 编译 hs 文件时的 -i 选项是什么以及如何在 GHCi 中执行相同操作?
好的,当我使用 GHC 编译时,我一直在使用 -i 编译选项来指定某个 haskell 源的文件夹。 ghc -threaded -i/d/haskell/src --make xxx.hs 我知道它在编…
LLVM 对 GHC 的调用约定
以下是 LLVM 文档“langref” 中的文本: “cc 10”-GHC 公约 此调用约定是专门为 Glasgow Haskell 编译器 (GHC) 使用而实现的。它传递寄存器中的所有…
使用foldl'、foldr 进行列表串联
我现在正在学习Haskell,我面临以下问题: 我想使用foldl'和foldr重写++函数。我已经用foldr 做到了: myConcat xs ys = foldr (:) ys xs 我不能使用f…
为什么 GHCi 输入这个语句很奇怪?
在回答 stackoverflow 上的问题时,我注意到 GHCi(交互式)在 let 语句中分配了过于严格的类型。也就是说,给定代码, import Control.Arrow f = max…
Haskell 中的内联汇编
我可以以某种方式在 Haskell 中使用内联汇编(类似于 GCC 对 C 的作用)吗? 我想将我的 Haskell 代码与参考实现 (ASM) 进行比较,这似乎是最直接的方…
帮助运行 Yesod 开发服务器?
我目前正在尝试 haskell 的 Web 开发框架,最近遇到了 yesod。它看起来很有趣,所以我使用 cabal 安装了它,但是我无法运行开发服务器。按照他们的入…
用 GHC 编译成巨大的二进制文件的小型 Haskell 程序
即使是很小的 Haskell 程序也会变成巨大的可执行文件。 我编写了一个小程序,它被编译(使用 GHC)为二进制文件,大小扩展为 7 MB! 什么会导致即使是…
使用从源代码编译的 GHC API
我想在客户端程序中使用 GHC API GHC 的修改版本。获取 GHC 源很容易 并构建并安装修改后的 GHC,但安装 修改后的 GHC 会导致所有旧的(Cabal)依赖关…