我似乎无法将我的想法包含在Scheme中的call/cc中

Bri*_*ian 6 scheme continuations callcc call

有没有人有一个很好的指导它是如何工作的?带有视觉辅助工具的东西会很好,我遇到的每一个指南似乎都说同样的东西,我需要一个新的东西.

erj*_*ang 11

这是我们CS实验室白板上留下的图表.所以你要取一些苹果,然后在开始之前抓住一个延续.你漫步在森林里,收集苹果,最后你在苹果上继续施用.突然之间,除了你所有的苹果之外,你在进入森林之前就已经找到了自己的位置.

呼叫/ cc的

(display
  (call/cc (lambda (k)
             (begin
               (call-with-forest
                 (lambda (f)
                   (k (collect-apples f))))
               (get-eaten-by-a-bear)))))

=> some apples (and you're not eaten by a bear)
Run Code Online (Sandbox Code Playgroud)

我认为可能涉及到成年礼和埋金.


Eli*_*lay 5

看一下PLAI的延续部分- 它非常"实用",它使用"黑洞"可视化来延续,可以帮助您理解它.