3
4

1 回答 1

13

延续是仍有待执行的“计算的其余部分”。在您的特定示例中,您可以将其视为要插入值的孔在(display [])哪里。[]也就是说,在被调用的那一刻,call/cc剩下要做的就是调用显示。

所做的是获取这个call/cc延续并将其置于一个可以像函数一样应用的特殊值中。它将这个值传递给它的参数(这里f)。在f中,延续势在必行return。所以(return 2)基本上会插入2延续,即(display 2).

我不认为这个例子实际上很有帮助,所以如果你有兴趣了解更多关于延续的信息,我认为你应该阅读PLAI (参见第 VII 部分)。另一个很好的来源是Dan Friedman 的这些讲义

于 2012-04-27T18:13:25.263 回答