如何在 Haskell 中处理无限的 IO 对象列表?
我正在编写一个从文件列表中读取的程序。每个文件要么包含到下一个文件的链接,要么标记它是链的末尾。 作为 Haskell 的新手,处理这个问题的惯用方法…
秒差距 - 错误“组合符‘许多’”应用于接受空字符串的解析器”
我正在尝试使用 Parsec 编写一个解析器来解析有文字的 Haskell 文件,如下所示: The classic 'Hello, world' program. \begin{code} main = putStrLn…
自动将中缀运算符提升为单元中缀运算符
Haskell 的优点之一是能够使用中缀表示法。 1 : 2 : 3 : [] :: Num a => [a] 2 + 4 * 3 + 5 :: Num a => a 但当操作员需要被抬起时,这种力量突然而悲…
从 GHCi 中的文件加载函数时出错
我对 Haskell 完全陌生。为了掌握基础知识,我开始学习“为伟大的利益而学习 Haskell”。我陷入了从文件加载函数的简单问题。 该文件名为 baby.hs,包…
Mod 哈斯克尔家庭作业
我的作业是提供一个计算 'x^y mod n' 的函数 - 对于任何 n < (sqrt maxint32) 所以我开始这样做: modPow :: Int -> Int -> Int -> Int modPow x y …
Haskell - 调用类型类中定义的函数
给定一个类型类: class AnimalTrainer animal food where getFood :: animal -> (food, Int) -- Returns the food and the quantity feed :: animal …
Haskell 代码中嵌套列表理解错误
我正在尝试用 Haskell 编写以下列表理解,但它不会进行类型检查。我对此很陌生,无法真正弄清楚为什么。 something :: Int -> [Int] something n = [[…
自动重新加载ghci &在文件更新上运行 hlint
我正在考虑我理想的 haskell 编辑工作流程: 我打开三个终端(使用 iterm2 分割)。 终端 1 运行 vim 来编辑 haskell 源文件。 当当前目录或子目录中…
在存储路径的同时搜索树
type Pattern = [PatternPart] data PatternPart = MatchTuple [PatternPart] | Named String | MatchAny data ArguementIndex = InTuple Int Argueme…
将 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 …