![]() |
1
4
你可能想试试
this version
(用途
这不是火箭科学:当我把这个贴在IRC频道的时候,
Eli
注意到这是
|
![]() |
2
4
OP提到(在对我答案的评论中)他实施的方案没有
它所做的是用一个以
如果链中最左边的函数可能返回多个值,则调用代码必须准备解包
|
![]() |
3
2
这里的问题是您试图混合不同数量的过程。你可能想要咖喱清单然后这样做:
但这并不是很令人满意。 您可以考虑一个n元标识函数:
然后,可以创建一个专门用于组成n元函数的合成过程:
用以下函数组成任意数量的n元函数:
工作原理:
编辑:
它有助于根据类型进行思考。让我们为我们的目的发明一种类型符号。我们将把成对的类型表示为
现在…鉴于此,以下是
以下是身份:
在种类上有区别。
组合具有以下类型:
看看你申请的时候会发生什么
咖喱的作用如下:
应用
重要的是,课程
|
![]() |
4
1
虽然“空”列表可以很好地转移到标识函数,但是放弃它似乎会导致以下结果,这并不太糟糕:
|
![]() |
Kon · OCaml中的模块类型语义 6 月前 |
![]() |
user20102550 · 如何在解析器中使用输入字符串 1 年前 |
![]() |
tijko · 处理整数数组时出现意外结果 1 年前 |
![]() |
David542 · 按列分区,按另一列排序 1 年前 |
|
Arnett Rufino · `max的输出是多少` 1 年前 |
![]() |
Adrian · 变量捕获:变量在函数闭包中的行为 1 年前 |