【发布时间】:2010-11-10 07:59:29
【问题描述】:
这与What is call/cc? 相关,但我不想为了自己的目的劫持这个问题,并且它的一些论点(例如与 setjmp/longjmp 的类比)回避了我。
我认为我对什么是延续有足够的了解,我认为它是当前调用堆栈的快照。我不想讨论为什么这可能很有趣,或者你可以用延续做什么。我的问题更具体地说,为什么我必须为 call/cc 提供函数参数?为什么 call/cc 不只返回当前的延续,所以我可以用它做任何我想做的事情(存储它,调用它,你命名它)?在来自另一个问题 (http://community.schemewiki.org/?call-with-current-continuation-for-C-programmers) 的链接中,它谈到“本质上,这只是一种让您继续并避免后续跳转回保存点的干净方式。”,但我没有得到它。这似乎是不必要的复杂。
【问题讨论】:
-
查看这个帖子,我完全不清楚你在追求什么,以及为什么你发现 LtU 的帖子很有启发性。也许你可以编辑这个问题来更好地解释这些事情?
-
我认为这个问题仍然准确地反映了我正在努力解决的问题,并且可能是 LtU 海报中的“测试”一词引起了我的注意,因为它让我想到了当您调用它时,只需返回延续。问题中对 schemewiki.org URL 的引用基本上涵盖了所有这些,但正如我当时所说,我没有得到它。它就在我的脸上,但我没有“看到”。理解并不是线性依赖于信息,有时它需要扭转。
-
好的,明白了!关于理解的曲折路径的观点是公平的,但尝试回答问题却无法弄清楚提问者拒绝的原因有点令人沮丧。
标签: scheme continuations callcc