【发布时间】:2013-09-02 13:03:15
【问题描述】:
Continuation 描述了接下来会发生什么并具有一定的价值,对吧? 这不就是一个接受一个值并进行一些计算的函数吗?
(+ (* 2 3) 5)
(* 2 3) 的延续是(+ _ 5)
(define k (lambda (v) (+ v 5)))
在这里使用call/cc而不使用函数k有什么意义?
【问题讨论】:
-
您不要使用
call/cc,其参数是 采用当前延续(作为函数)。编辑您的问题以使用call/cc!阅读continuation上的维基页面 -
我用的不是call/cc,我用的是等价函数代表延续?
-
Continuation 在语法上是一个函数,但它表示控制转移。它的调用协议与函数的不同——它应该永远不会返回。
标签: lisp scheme continuations callcc