Hasty Briefsbeta

双语

Delimited Continuations in Lone Lisp

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