haskell相关内容

无法将类型“[]"与“IO"匹配——Haskell

我是 Haskell 的初学者.在此任务中,我正在执行拆分操作,但由于类型不匹配而面临问题.我正在从文本文件中读取数据,并且数据是表格格式.前任.1|2|Rahul|13.25. 采用这种格式.这里 | 是分隔符,所以我想从分隔符 | 中拆分数据并想打印第二列和第四列数据,但我收到这样的错误p> "无法将类型 `[]' 与 `IO' 匹配预期类型:IO [Char]实际类型:[[字符]]在“s ..
发布时间:2022-01-12 20:59:50 其他开发

模式匹配 - Prolog vs. Haskell

这不是家庭作业问题,而是考试学习指南问题.Prolog 与 Haskell 中的模式匹配有什么区别? 我已经进行了一些研究并阅读了它们背后的理论并没有真正让我对两者之间有一个扎实的理解.我在Prolog中读到,模式匹配是不同的,因为它具有统一变量的能力,因此能够通过分辨率进行推断并吐出可能的答案 例如 ?- [a,b] = [a,X]X = b 现在我不确定如何在 Haskell 中显示 ..
发布时间:2022-01-12 10:57:45 其他开发

Haskell 与 Prolog 比较

Prolog 比 Haskell 更能解决哪些问题?这两种语言的主要区别是什么? 编辑 是否有可以模仿 Prolog 功能的 Haskell 库(一种逻辑求解器)? 解决方案 Prolog 主要是针对逻辑问题的语言,尤其是在 AI 和语言领域.Haskell 更像是一种通用语言. Prolog 是声明性(逻辑)语言,这使得在其中陈述逻辑问题变得更容易.Haskell 是一 ..
发布时间:2022-01-12 10:57:22 其他开发

Haskell 中的模式匹配等效变量,例如 Prolog

在 prolog 中,我们可以这样做: myFunction a (a:xs) = ... 也就是说,当 myFunction 的第一个参数与第二个参数中的列表的第一项相同时,此函数将评估为 .... 我现在的问题是......如何在 Haskell 中完成类似的事情?我认为 Prolog 的模式匹配比 Haskell 的更具表现力.我一直在尝试在 Haskell 中编写代码,但遇到了麻 ..
发布时间:2022-01-12 10:13:54 其他开发

用于经典命题逻辑的 Quine 算法的 Prolog 实现(在 Quine 的“逻辑方法"中)

我只知道一个证明者可以翻译 Quine 在他的著作 Methods of Logic 中为经典命题逻辑提供的算法(哈佛大学出版社,1982 年,第 1 章第 5 章,第 33- 页)40),这个证明器在 Haskell 中,它在这里:Haskell 中的 Quine 算法 我尝试在Prolog中翻译Quine的算法,但直到现在我还没有成功.很遗憾,因为它是一种高效的算法,而且 Prolog ..
发布时间:2022-01-12 10:13:47 其他开发

如何让haskell输出不是科学计数法的数字?

我有一些项目想要划分为多个桶,这样每个桶都比上一个大一些. items = 500块 = 5增量 = 0.20{- 找到比例 -}大小 = 取块(迭代(+增量)1)基数 = 总大小/项目buckets = map (base *) 大小main = 打印桶 我确信有一种数学上更优雅的方法可以做到这一点,但这不是我的问题.最后一步总是以科学计数法打印出来. 如何获得纯十进制输出?我看过 N ..
发布时间:2022-01-12 09:41:49 其他开发

如何在 Haskell 中填充整数的字符串表示形式?

我正在寻找一种惯用的(可能是内置的)方法,在左侧用零填充整数的字符串表示形式. 在我的例子中,整数永远不会超过 99,所以 fix r = if length r == 1 then '0':r else r修复.show [1..15] 有效.但我希望有更好的方法. 如何在 Haskell 中填充整数的字符串表示形式? 解决方案 printf 样式格式可通过 Tex ..
发布时间:2022-01-12 09:40:08 其他开发

如何破解 GHCi(或 Hugs)以便打印未转义的 Unicode 字符?

看问题:通常,在交互式 Haskell 环境中,非拉丁 Unicode 字符(构成结果的一部分)被转义打印,即使语言环境允许此类字符(与通过 putStrLn, putChar 看起来不错且可读)--示例显示 GHCi 和 Hugs98: $ ghciGHCi,版本 7.0.1:http://www.haskell.org/ghc/:?求助前奏>“你好:привет"“你好:\1087\1088 ..
发布时间:2022-01-12 09:16:26 其他开发

惰性求值与宏

我已经习惯了 Haskell 的惰性求值,现在我已经正确地使用了惰性求值,我发现自己对默认急切的语言感到恼火.这实际上是相当有害的,因为我使用的其他语言主要使懒惰地评估东西变得非常尴尬,通常涉及推出自定义迭代器等等.因此,仅仅通过获得一些知识,我实际上已经降低了在我的原始语言方面的工作效率.叹息. 但我听说 AST 宏提供了另一种干净的方式来做同样的事情.我经常听到诸如“懒惰评估使宏变得多余 ..
发布时间:2022-01-11 19:59:59 其他开发

制作小型haskell可执行文件?

有什么好的方法可以制作小型的 haskell 可执行文件吗?使用 ghc6,一个简单的 hello world 程序似乎达到了大约 370kB(剥离前为 523kB).C 中的 Hello world 大约为 4kB(剥离前为 9kB). 解决方案 用GHC的开发分支(有谁知道具体是在哪个版本添加的?): $ ghc -o hello hello.hs$ strip -p --strip ..
发布时间:2022-01-11 15:27:58 其他开发

Haskell、Char、Unicode 和土耳其语

对于 Char 数据类型,我如何指定要使用土耳其语 i 而不是英语 i 用于 toLower 和 toUpper 函数? 解决方案 text和text-icu包 截至 2011 年,您最好的选择是使用 text 包和 Text ICU包的>toLower函数,支持Char 由语言环境参数化的操作, 来自这个例子: 导入Data.Text(打包、解包)导入 Data.Text. ..
发布时间:2022-01-11 11:15:38 其他开发

Haskell中未定义长度列表的二进制序列化

我一直在使用 Data.Binary 将数据序列化为文件.在我的应用程序中,我逐渐将项目添加到这些文件中.两个最流行的序列化包,二进制和谷物,都将列表序列化为一个计数,然后是列表项.因此,我无法附加到我的序列化文件中.我目前读入整个文件,反序列化列表,附加到列表,重新序列化列表,然后将其写回文件.但是,我的数据集变得越来越大,并且我开始耗尽内存.我可能会四处拆箱我的数据结构以获得一些空间,但这种方 ..
发布时间:2022-01-09 19:57:12 其他开发

ghc 编译的二进制文件是否需要 GHC 或者它们是独立的?

如果朋友想要运行我的 Haskell 二进制文件,他必须先安装 Haskell,还是可以立即自行运行二进制文件? 在 Mac、Windows 和 Linux 上答案是否相同? 解决方案 GHC 确实会生成不需要安装 GHC 本身的独立二进制文件,但是它们确实链接到一些动态库,尤其是 libgmp.其余的库通常在大多数 Linux 系统上都是开箱即用的.我相信 Windows 上的情况 ..
发布时间:2022-01-09 19:18:59 其他开发

Haskell 范围和浮点数

为什么浮点数和整数和字符的 Haskell 范围表示法的行为不同? 前奏曲>[1, 3 .. 10] :: [整数][1,3,5,7,9]前奏>[1, 3 .. 10] :: [浮动][1.0,3.0,5.0,7.0,9.0,11.0]前奏>['a', 'c' .. 'f']“高手" 如果最后一个元素接近上限我会理解,但这显然不是舍入问题. 解决方案 语法 [e1, e2 .. e3] ..
发布时间:2022-01-09 10:02:12 其他开发

如何在 Haskell 中计算直方图?

我找到了 Statistics.Sample.Histogram,但我似乎无法使用它.如果我希望能够将列表分为四类,我希望能够执行以下操作: import Statistics.Sample.Histogram直方图 4 [1, 2, 9, 9, 9, 9, 10, 11, 20] 但它给了我错误“约束中的非类型变量参数",我根本不明白.我究竟做错了什么? 解决方案 histogram ..
发布时间:2022-01-07 23:57:43 其他开发