测试 Haskell 变量是否与用户定义的数据类型选项匹配
所以我有一个类似的数据类型: data Token = NUM Int | ID String | EOF 我有一个类似的函数: doStuff list = let (token, rest) = getToken list in…
如何确保 Data.Vector 的摊销 O(n) 级联?
我有一个应用程序,在其中使用向量作为代码的一部分是有效的。然而,在计算过程中我需要跟踪一些元素。我听说你可以从 Data.Vectors 获得 O(n) 摊销串…
Haskell 文件读取和数字相加
我有一个程序,它采用带有值的文本文件,例如: 20 30 23 5 200 3 我将其转换为列表并添加每一行以创建小计,然后创建总和。 import System.IO import…
解析错误(可能是不正确的缩进)
我收到以下错误,任何人都可以解释一下代码有什么问题吗? 105:0: parse error (possibly incorrect indentation) 这是代码: -- Type inference for …
解析错误(可能是不正确的缩进)
当我执行以下代码行时,出现以下错误, TyInfer.hs:115:0: parse error (possibly incorrect indentation) 任何人都可以解释一下问题是什么。 type Su…
applicative <* 的一元等价物
阅读安东尼的回复后一个与样式相关的解析器问题,我正在尝试说服自己编写单体解析器仍然可以相当紧凑。 因此, reference :: Parser Transc reference…
Haskell 程序删除注释
我正在尝试编写一个 Haskell 程序,该程序接受 Java 程序 (.java) 并输出它并删除所有注释。输入的语法不必是正确的。我已将 IO 组件设置为如下所示:…
为什么即使没有并行性,通过分治法对 Data.Sequence 求和也会更快?
我正在 Data.Sequence.Seq 上进行并行缩减,我注意到即使没有并行性,分而治之也能提供速度优势。有谁知道为什么? 这是我的代码: import qualified …
无法找出 Haskell 中的正确类型
我正在制作一个基于堆栈的伪汇编程序虚拟机。以下是问题函数中使用的一些自定义类型: type Program = Array Int Opcode type Labels = Map String In…
类似 ML 模式匹配的类型检查算法?
对于 ML 风格的编程语言,如何确定给定模式是否“良好”,特别是它是否详尽且不重叠? 假设您有如下模式: match lst with x :: y :: [] -> ... [] ->…
在 Haskell 中使用 Data.Binary.Get 解析简单的二进制文件
我正在尝试使用 Data.Binary.Get monad 解析 Haskell 中的一个简单的二进制文件。 我的代码的简化版本如下所示: data MsgString = Definition_msg { …
FreeGlut 在 ghci 中不起作用
我使用“Glut”编写了一个小程序 import Graphics.Rendering.OpenGL import Graphics.UI.GLUT main = do (progname, _) <- getArgsAndInitialize crea…