![]() |
1
21
当你实施
一般来说,如果你能使用特定单子的知识,你就可以表达任何幂的计算。例如
|
![]() |
2
2
编辑2: 这个问题的问题是它很模糊。它使用了一个根本没有定义的概念(“更强大”),让读者猜测它的含义。因此,我们只能得到毫无意义的答案。当然,任何东西都可以在使用Haskell的所有武器库时进行编码。这是一个空洞的说法。这不是问题所在。 据我所知,一个明确的问题是:分别使用Monad/Applicative/Functor中的方法作为 原语 ,而完全不使用显式模式匹配,是一类计算,因此对于使用中的一组或另一组原语,可以严格地表示为更大的计算。现在 这 可以得到有意义的回答。 不过,函数是不透明的。无论如何都不存在模式匹配。如果不限制我们可以使用什么,这个问题同样没有意义。然后,限制就变成了,显式使用命名参数,有意义的编程风格,因此我们只允许自己以组合方式编码。
那么,对于列表
实施
(顺便说一句,我现在不知道如何
密码
名单是
这很简单,所以毫无疑问。 ( 编辑: 嗯,显然还有疑问)。
作为一种特殊的数据类型,它可以进行模式匹配。作为单子,虽然它只知道
在里面
|
![]() |
Kon · OCaml中的模块类型语义 5 月前 |
![]() |
user20102550 · 如何在解析器中使用输入字符串 11 月前 |
![]() |
tijko · 处理整数数组时出现意外结果 1 年前 |
![]() |
David542 · 按列分区,按另一列排序 1 年前 |
|
Arnett Rufino · `max的输出是多少` 1 年前 |
![]() |
Adrian · 变量捕获:变量在函数闭包中的行为 1 年前 |