问题标签 [haskell]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
testing - 使 Test.QuickCheck.Batch 使用默认类型来测试列表函数
我正在测试一个名为提取的函数,它可以在任何列表上运行。
我想测试它,例如,
但这不会编译;我必须为run
or提供一个类型prop_len
,因为 QuickCheck 不能生成[a]
,它必须生成一些具体的东西。所以我选择了Int
:
有没有办法让 QuickChecka
为我选择而不是在类型中指定它run
?
string - 简单的haskell字符串管理
我想用 Haskell 解决一个小问题:让我们用一个函数替换一个函数,该函数将字符串中的所有通配符更改为一个具体参数。该函数具有以下特征:
haskell - haskell 中的箭头说明
什么是了解箭头的好地方?理想情况下,我只是从一些好的例子中寻找一个具有简洁定义的地方,类似于 Wadler 对 monads 的阐述。
haskell - 哪些语言实现了函数式编程的特性?
Lisp 很早就在学术界开发了一组有趣的语言特性,但其中大多数从未在生产环境中流行起来。
一些语言,比如 JavaScript,适应了垃圾收集和词法闭包等基本特性,但所有可能真正改变大规模编写程序方式的东西,比如强大的宏、代码即数据和自定义控制结构,只是似乎在其他函数式语言中传播,这些语言都不适用于非平凡的项目。
函数式编程社区还提出了许多其他有趣的想法(除了函数式编程本身),例如引用透明性、通用大小写表达式(即模式匹配,不像 C/C# 开关那样残缺不全)和柯里化函数,这似乎在常规编程中显然很有用,并且应该很容易与现有的编程实践集成,但由于某种原因似乎永远停留在学术界。
为什么这些功能很难被采用?是否有任何现代实用的语言实际上从 Lisp 中学习,而不是半途而废地复制“一流的功能”,或者是否存在使这不可能的内在冲突?
database - Haskell 有 ORM 工具吗?
使用 Haskell 与数据库交互的最佳方式是什么?我习惯于使用某种 ORM(Django 的 ORM、hibernate 等),在使用HAppS创建应用程序时,类似的东西会很好。
编辑:就实际数据库而言,我想自由选择 Postgresql MySql 和 SQLite。
haskell - if/else 控制块的良好 Haskell 编码风格?
我正在学习 Haskell,希望它能帮助我更接近函数式编程。以前,我主要使用具有类 C 语法的语言,如 C、Java 和 D。
我对 Wikibooks 教程if
使用的/else
控制块的编码风格有一点疑问。代码如下所示:
这让我很困惑,因为这种编码风格完全违反了类 C 语言中推荐的风格,我们应该在同一列缩进if
,else if
和。else
我知道它在 Haskell 中不起作用,因为如果我缩进else
与if
.
但是下面的风格呢?我认为它比上面的要清楚得多。但是由于上面的内容被 Wikibooks 和 Yet Another Haskell Tutorial 使用,在 Haskell 官方网站上被标记为“最佳在线教程”,我不确定这种编码风格是否是 Haskell 程序中的约定。
所以,我很好奇哪种编码风格更常用——或者这段代码是否还有另一种编码风格?
programming-languages - Haskell新手:使用布局与否?优点和缺点是什么(使用示例)
我似乎找不到太多关于 haskells 布局功能的信息,因为我知道它类似于 pythons 格式要求,但它是可选的。如何选择不正确使用此选项?没有它开始是一个好主意,这样我就可以对语言本身有一个坚实的感觉吗?
haskell - 你如何在 Haskell 中创建一个通用的 memoize 函数?
我看过另一篇关于这个的帖子,但是在 Haskell 中有没有一种干净的方法呢?
作为第二部分,它也可以在不使函数单子化的情况下完成吗?
haskell - 哪个 Haskell 包包含给定模块
我知道一个 Haskell 模块名称,但我不知道它是在哪个包中定义的。这很糟糕,因为我无法在没有暴露此模块的包的情况下进行编译。
特别是我找不到的 Text.Regex ,但我想知道如何解决这个问题。