将 Monadic 函数转换为 IO Monadic 函数
parseSource :: String -> Either ParserError Mod.Module parseSource src = do (imports, rest) <- parseImports (Lex.lexSource src) bindings <- …
使用 Haskell 将 [Bool] 写入二进制文件
在 Haskell 中工作,我试图将一个大的布尔值列表写入二进制文件。 我可以将 Word8(这是一个 8 位字)写入文件,但无法弄清楚如何从八个 Bool 列表转…
有没有更好的方式来表达这种类型?
我制作了这种数据类型,其中有很多重复。 data JobState = UnsanitizedData Handle | SanitizedData Handle | VerifiedData Handle | JobFail Handle …
为什么极简主义(例如 Haskell 快速排序)不是“真正的”排序?快速排序?
Haskell 的网站介绍了一个非常有吸引力的 5 行快速排序函数,如下所示。 quicksort [] = [] quicksort (p:xs) = (quicksort lesser) ++ [p] ++ (quick…
仅在 GHC 解释器执行以下操作时在某些情况下发生空间泄漏: concat ; !! n
我定义了我自己的 concat 版本,myConcat: module Eh where myConcat [] = [] myConcat ([]:os) = myConcat os myConcat ((x:xs):os) = x : myConcat…
没有 Prelude 的 ghci 会话
这个问题出现在 #haskell irc 聊天中: 如何在不导入 prelude 的情况下启动 ghci? 可能的答案似乎很明显: ghci -XNoImplicitPrelude,或者使用impor…
在 Happstack 中捕获异常
我得到一个异常(在空列表上使用 Prelude.head),这使得之后的所有 http 请求返回 502/505 异常(并且 happstack 应用程序打印“HTTP 请求失败:发送…
在 GHCi 中编码为 JSON 时发生浮点异常,GHCi 退出
我尝试从 http://gregorycollins.net/ 运行代码GHCi 中的 posts/2011/10/01/cufp2011/index.html#(43),但得到“浮点异常,并且GHCi 退出。 {-# LANGU…
与 Word8 和 Int 相关的类型错误
尝试将字节字符串转换为十六进制 ascii 字符串显示 wordtoascii :: Int -> String wordtoascii y = showIntAtBase 16 intToDigit ( fromEnum y) "" bs…
如何转义 Haskell 的 Text.Regex 库中的字符?
简介 我正在使用 Haskell 的 Text.Regex 库,并且我想匹配一些通常在正则表达式中有意义的字符。根据 Text.Regex 的 文档, 正则表达式的语法是...egr…
有没有一种方法可以在没有辅助函数的情况下轻松构建 Haskell 中的重复元素列表?
给定一个 (Int, a) 类型的元组,例如 (n,c),我希望构造一个列表 [a],其中元素c 重复n 次,即(4, 'b') 变为"bbbb"。我当前的解决方案如下: decode :…