关于预方案恢复的第一份报告 - 预方案

主要观点:Pre-Scheme 恢复项目已进行 3 个多月,大部分代码已迁移到 R7RS,下一个重点是用便携式扩展器替换 Scheme 48 的扩展器。
关键信息

  • 约 75%的代码库在 3 种 R7RS 兼容的 Scheme 实现中成功加载,100%通过新的 R7RS 兼容性层运行。
  • 开发了“不完全 Scheme48 R7RS 兼容性库”以保持与 Scheme 48 的兼容性。
  • 采用 Scsh 作为工具平台,其 R7RS 兼容性层对未来工作可能有用。
  • 为 Scheme 48 实现了 R7RS-small,通过解析 Scheme Index 数据集生成核心库定义。
  • 将 Pre-Scheme 编译器迁移到 s48-r7rs,分离了核心与目标 Scheme 实现的差异。
  • 迁移了 Pre-Scheme 编译器宏,用syntax-case重新实现内部宏。
  • 生成了 Pre-Scheme 库定义,模拟了 Scheme 48 结构和 R7RS 库的差异。
  • 当前目标实现有 Chibi Scheme、Sagittarius Scheme 和 Guile。
    重要细节
  • 保留兼容性时,通过端到端测试和兼容性库避免引入错误。
  • Scsh 基于 Scheme 48,提供更好的文件系统和外部进程处理支持。
  • R7RS 库的设计受 Scheme 48 模块系统启发。
  • 端口化过程中处理了各种依赖和宏的迁移。
  • 初始目标实现支持 R7RS 库的标准布局和不同的宏系统。
  • 下一步重点是集成 Unsyntax 作为便携式扩展器并扩展测试覆盖和文档。
阅读 11
0 条评论