SRFI 255:重新启动条件

这是关于 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 proceduresrestartable形式可使过程在断言违规时重新调用,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:包含版权声明和使用条件。
阅读 11
0 条评论