搜索技巧 海洋云增白 开源地图 AI 搜索答案 沙丘魔堡2 压缩机站 自由职业 policy 小团队 颈挂空调 Chumby 个人电脑 极端主义 团队 PostgreSQL AI工具 证券 DirectX DrawingPics 化学 KDE 披萨农场 多动症 植物学 分析化学 Three.js 大会 残疾人学校 初创 QB64 更多

Hoot 中的 CPS 变换 (wingolog.org)

这篇文章详细介绍了 Hoot Scheme-to-Wasm 编译器如何使用 Continuation-Passing Style (CPS) 变换来实现 push 调用。文章首先解释了 Scheme 中尾调用和非尾调用的区别,以及在 WebAssembly 中实现 push 调用的挑战。然后,文章探讨了三种可能的实现策略:通用切片、插桩切片和 CPS 变换,并解释了 Hoot 选择 CPS 变换的原因。最后,文章讨论了 Hoot 在实现 CPS 变换时遇到的一些挑战和解决方案,例如如何拆分函数、如何保存变量以及如何处理调用约定等。

评论已经关闭!