这是关于 SRFI 255(Scheme 请求实现)的详细文档,主要内容如下:
- Status:处于最终状态,可通过特定邮箱提供输入,访问相关消息存档等,包含多个发布草案的日期及最终确定日期。
- Table of Contents:涵盖了多个方面,如基本原理、规范(包括符号表示、重启条件、相关过程、语法等)、实现、致谢、参考文献等。
- Abstract:当程序遇到异常情况时,通常会创建条件对象并传递给异常处理程序。本 SRFI 提出了重启器机制,用于封装重启计算所需的信息,并描述了交互器程序的行为和接口。
- Rationale:任何大型软件系统都需要有效的异常处理和恢复系统,此 SRFI 旨在弥补现有系统的不足,提供交互性,如借鉴 Common Lisp 的条件系统。同时提及 SRFI 249 是本 SRFI 的基础,本 SRFI 提供了更高级的接口。
Specification:
- Notation:对特定术语的解释遵循相关标准。
- Restarter conditions:重启器是一种特定类型的条件对象,包含标签、描述等字段,其构造和使用有特定规范。
- Procedures:包括创建重启器、判断对象是否为重启器、获取重启器的相关信息、调用重启器等过程。
- Syntax:详细介绍了
restarter-guard等语法结构的使用方法和语义。 - Restartable procedures:
restartable形式可使过程在断言违规时重新调用,define-restartable可定义重启过程。 - Tail calls and restarters:建议实现者确保最后表达式在尾调用上下文中,避免递归过程积累过多上下文。
- Proposed standard restart tags:鼓励用户使用特定的标签协议命名重启器。
- Implementation:实现可在 Github 获取,为便携式 R6RS Scheme。
- Acknowledgements:基于 John Cowan 的 SRFI 249,Marc Nieper-Wißkirchen 提出原始概念,感谢众多提供评论和审核的人员。
- References:列出了相关的 Scheme 报告和标准。
- Copyright:包含版权声明和使用条件。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用。你还可以使用@来通知其他用户。