J 运算符是什么?它与 call/cc 相同吗?

问题描述 投票:0回答:1

我在研究ISWIM时听说过“J算子”或“节目点算子”。我想知道它是什么。维基百科的文章非常模糊:

在计算机科学中,Peter Landin 的 J 运算符是一种编程结构,它可以后组合 lambda 表达式并延续当前的 lambda 上下文。生成的“函数”是一流的,可以传递给后续函数,如果应用它,它将返回其结果到创建它的函数的延续。

“后作曲”是什么意思?我查了一下,只能找到一个数学定义。我在其他地方搜索了很多,但发现的很少。有几页提到了它,但没有一个详细描述它的实际含义。

那么,J 运算符是什么,它有什么作用,与 call/cc 类似吗?

lambda-calculus callcc
1个回答
0
投票

Peter Landin 1965 年的文章 ALGOL 60 与 Church 的 Lambda 表示法之间的对应关系:第一部分 指出:

考虑一个定义

 f(x) = ... g(...,...) ...
   where
      g = Jλ(u,v)

其中子表达式

g(...,...)
可以出现在右侧的任何 λ 深度处以及任何上下文中。

如果在应用

f
时计算该子表达式,则其值将立即成为
f
产生的结果。

它还引用了这篇论文

© www.soinside.com 2019 - 2024. All rights reserved.