【发布时间】:2019-12-17 17:07:06
【问题描述】:
Scheme 编程语言说
方案允许使用过程
call/cc捕获任何表达式的延续。call/cc必须通过一个参数的过程p。call/cc构造当前的具体表示 继续并将其传递给p。延续本身由过程k表示。每次应用k为一个值,它将该值返回给call/cc应用程序的延续。这个值变成,在 本质,应用call/cc的价值。 如果p没有调用k就返回了,那么程序返回的值就变成了应用程序的值call/cc.
就call/cc的调用而言,以下两种定义p的方式是否等效:
-
p不调用k就返回, -
p调用k并返回值?
我不确定call/cc 是如何定义的。
除了通过p 间接调用k 之外,call/cc 是否曾直接调用延续k?
call/cc 和 p 都不调用延续 k 是否完全正常?
【问题讨论】:
标签: scheme continuations continuation-passing callcc