Delimited Continuations in Lone Lisp
7 months ago
- #programming
- #lisp
- #continuations
- Lone Lisp现已支持分隔续体(delimited continuations),这是一种强大的控制机制。
- 实现过程涉及将递归求值器转换为寄存器与堆栈机器。
- 项目改编了SICP教材中的显式控制求值器以适配Lone Lisp。
- 基础操作被重写为状态机以避免C堆栈递归。
- 分隔续体允许捕获并恢复执行堆栈状态。
- 通过`control`和`transfer`原语实现分隔续体功能。
- 续体可像函数般调用,能恢复被捕获的堆栈状态。
- 该特性为实现异常处理和生成器机制奠定了基础。