den*_*ini 7 lambda-calculus currying
我无法理解为什么在无类型lambda演算中允许以下beta减少:
(?x.x y) (u v) -> ((u v) y)
Run Code Online (Sandbox Code Playgroud)
具体来说,我无法理解如何可以传递两个参数u和v到一个单一的参数x在?x.x一部分.允许以上不应该使用currying并有两个参数?像这样-
(?x.(?y.(x y))) (u v)
Run Code Online (Sandbox Code Playgroud)
Fre*_*Foo 11
特别是我无法理解如何传递两个参数u和v
你没有传递两个参数u和v.您传递的(u v)是单个值或术语:u应用于的值v.
将其与普通算术进行比较:您可以将一个函数应用于sin复合项,例如sin(x + 1)因为x+1表示单个值,即使它是将函数+应用于两个参数x和1.
| 归档时间: |
|
| 查看次数: |
242 次 |
| 最近记录: |