Continuations 是否有一种本机支持分隔连续的编程语言?

Continuations 是否有一种本机支持分隔连续的编程语言?,continuations,delimited-continuations,Continuations,Delimited Continuations,我想知道一种本机支持分隔连续体的编程语言。我确实知道Scala过去有shift和reset,但这些都被删除了;我也知道Seaside似乎也有类似的东西,但Seaside是一个图书馆,据我所知,Smalltalk不支持分隔的连续体 那么,有没有一种编程语言支持这种延续呢 谢谢大家! 在大多数Smalltalk方言中,您可以简单地实现分隔的连续体(或任何其他类型的连续体)。由于环境的高度反射特性,您可以遍历运行时堆栈,复制并重新实例化执行堆栈的任何部分。事实上,这正是我们正在做的 看看这些Monti

我想知道一种本机支持分隔连续体的编程语言。我确实知道Scala过去有
shift
reset
,但这些都被删除了;我也知道Seaside似乎也有类似的东西,但Seaside是一个图书馆,据我所知,Smalltalk不支持分隔的连续体

那么,有没有一种编程语言支持这种延续呢


谢谢大家!

在大多数Smalltalk方言中,您可以简单地实现分隔的连续体(或任何其他类型的连续体)。由于环境的高度反射特性,您可以遍历运行时堆栈,复制并重新实例化执行堆栈的任何部分。事实上,这正是我们正在做的


看看这些Monticello包中实现的不同类型的延续:。
Continuation
软件包包括各种类型的完全和部分Continuation(重置移位和提示控制样式)的测试和示例。
生成器
包包括生成器的一个实现。

正如@user633183所指出的,Racket有一组极其丰富的连续操作符。它包括移位和复位以及许多其他等效的连续操作集

见文档,第页


我投票决定将此问题作为离题问题结束,因为这是一个投票问题,而不是指南中定义的编程问题。对这个网站来说,给我列一张清单不是一个合适的问题。我想到了Racket和Haskell