让我们开始 crunch 吧!|更多魔法

主要观点:

  • CRUNCH 是一个针对静态类型 Scheme 子集的编译器,运行在 CHICKEN Scheme 系统之上,生成可移植的 C99 代码。
  • 受 PreScheme 恢复项目启发,旨在填补现有 Scheme 系统中的性能差距。
  • 有多种使用模式,如嵌入、生成独立程序等,且与 CHICKEN 的模块系统集成良好。
  • 存在一些限制,如不支持多值、一阶延续等,但能编译大量习语 Scheme 代码。
  • 提供了一些优化,如类型重载、内联等,以确保性能。
  • 包含静态调试器,用于分析类型错误。
  • 与 PreScheme 有相似之处和不同点,未来有改进计划。

关键信息:

  • 需 CHICKEN 6 版本,可通过下载开发快照安装。
  • 四种使用模式的具体示例。
  • 模块系统及与 CHICKEN 的集成方式。
  • 限制包括多种类型不支持等。
  • 运行时系统简单,无需垃圾回收。
  • 优化措施如类型重载、内联等。
  • 性能接近直接翻译为 C 的代码,有一些额外开销。
  • 有静态调试器,展示内部节点树等。
  • 未来计划包括支持多值等。

重要细节:

  • 新 CRUNCH 是之前 CHICKEN 扩展的重新实现,目标为 C99。
  • 安装需下载特定版本的开发快照并进行配置、编译和安装。
  • 模块编译后可导出特定程序,简化与 C 的接口。
  • 优化措施中的 lambda 提升、单态化等具体示例。
  • 性能方面提到向量和字符串访问的边界检查等。
  • 调试器通过 Tcl/Tk 脚本显示内部节点树等信息。
  • 未来计划中提到对多值等的支持。
阅读 5
0 条评论