在 Haskell 中,如果绑定“隐藏现有绑定”,这意味着什么?
当我编译时,我收到来自 GHC 的警告: 警告:“pats”的此绑定隐藏了“match_ignore_ancs”定义中的现有绑定 这是函数: match_ignore_ancs (TextPat …
为什么 s ++大s不会导致堆栈溢出吗?
我想知道为什么 Prelude> head $ reverse $ [1..10000000] ++ [99] 99 不会导致堆栈溢出错误。前奏中的 ++ 看起来很简单并且非尾递归: (++) :: [a]…
do 符号是否特定于“base:GHC.Base.Monad”?
标准 Monad 类有缺陷并且它实际上应该扩展 Functor 或 Pointed 的想法正在流传。 我不一定声称这是正确的做法,但假设有人试图这样做: import Prelud…
GHC 6.12 和 MacPorts
我最近(从二进制安装程序)安装了 GHC 6.12 和 Haskell Platform 2010.1.0.1我的 Intel MacBook 运行 OS X 10.5.8,最初一切正常。 编辑:我必须从源…
Haskell (GHC) 中的列表是如何实现的?
我只是对 Haskell 中列表的一些具体实现细节感到好奇(GHC 特定的答案很好)——它们是朴素的链表,还是有任何特殊的优化?更具体地说: length 和 (!…
ghc-pkg 和 cabal 之间有什么关系?
关于如何在 Haskell 中创建、安装和使用包, ghc-pkg 和 cabal? 它们的作用是什么——什么时候你会使用其中一个,而不是另一个,或者两者都使用? 它…
使用 GHC,在用户空间安装带有 GMP 的 cabal
我一直在尝试在未安装 GNU 多精度包 (GMP) 的系统上的用户空间中安装 Haskell Platform 和安装在 Linux 上的 cabal-install 。 我设法通过设置 LB_LIB…
Haskell 中的 CPP 扩展和多行文字
是否可以在包含多行字符串文字的 Haskell 代码上使用 CPP 扩展? Haskell 还有其他条件编译技术吗? 例如,让我们看一下这段代码: -- If the next li…
使用 putStr 和 getLine 的 IO 操作顺序错误
我有以下代码: main = do putStr "Test input : " content <- getLine putStrLn content 当我运行它(使用 runhaskell)或编译它(ghc 6.10.4)时…
使用 GHC API 评估 Haskell 语句/表达式
对于我正在编写的工具( http://hackage.haskell.org/package/explore )我需要一种在运行时读取 haskell 函数定义的方法,将它们应用于我的工具中的…
需要一个使用 GHC 解析和类型检查 Haskell 的教程
我正在开发一个分析 Haskell 代码的项目。我决定使用 GHC 来解析源代码并推断类型,而不是编写自己的代码来执行此操作。现在,我正在努力阅读 Haddock…
了解 Haskell 分析器输出 - 什么是 =_a3JO
我正在 Haskell 中编写一些优化应用程序,我刚刚通过探查器运行它。我可以看到许多函数和一个奇怪的符号“==_a3JO”(有时是不同的数字和字母)。它代…
使用 Haskell 输出 UTF-8 编码的 ByteString
我试图简单地将 UTF-8 编码的数据输出到控制台,简直是疯了。 我已成功使用 String 完成此操作,但现在我想使用 ByteString 完成相同的操作。有没有一…