【发布时间】:2019-12-17 21:21:15
【问题描述】:
Scheme 编程语言说
因此,在任何表达式的求值过程中的任何时候,都有一个 continuation 准备完成或至少继续计算 从那时起。假设
x的值为(a b c)。我们可以 在评估(if (null? x) (quote ()) (cdr x))期间隔离六个延续——等待的延续
(if (null? x) (quote ()) (cdr x))的值,(null? x)的值,null?的值,x的值,cdr的值,和x的值(再次)。
(cdr x)的延续没有列出,因为它与 等待(if (null? x) (quote ()) (cdr x))的那个。
我想知道如何在 CPS 中写 (if (null? x) (quote ()) (cdr x))?
只能在 CPS 中重写过程调用吗?
【问题讨论】:
标签: scheme continuations continuation-passing