方案中的“堆栈”。是什么让它特别?

Bob*_*Bob 2 scheme continuations stack

在阅读有关计划时,我遇到了这个声明。

“Scheme 相当于一个激活堆栈,实际上是一个部分延续(暂停记录)链。”

我对这实际上意味着什么有点困惑。方案堆栈与 C 的区别是什么?

soe*_*ard 5

Scheme 支持构造 call-with-current-continuation(在 R5RS 中阅读它)。该构造可用于返回到先前的延续。这意味着激活记录不再形成堆栈。相反,激活记录形成一棵树(请注意,堆栈是树的特殊形式)。为了感受延续的概念,我可以推荐

丹尼尔·P·弗里德曼。“延续的应用:特邀教程”。1988 年编程语言原理 (POPL88)。1988 年 1 月 。http://www.cs.indiana.edu/hyplan/dfried/appcont.pdf

如果您对延续感兴趣,那么您会在这里找到很多有趣的论文。