主要观点:尝试为 System F 和 System Fω 制作类型检查器,基于 Pierce 的《Types And Programming Languages》参考实现进行从 OCaml 到 Rust 的移植,有多个版本,如 System F 的 fullpoly(TAPL 版本的类型检查器 + 解释器)和 sys-f(仅类型检查器),System Fω 的 fullomega(TAPL 版本)、sys-fomega(fullomega 的移植,仅类型检查器)、sys-fomega-nicer(有一些重构和代码清理,变量/函数名更友好)、sys-fomega-nbe(尝试用归一化求值替换 de Bruijn 索引移位)等,还提到一些其他相关内容如 lc-nbe(使用归一化求值的无类型 lambda 演算解释器),若有时间会实现相关论文,同时提及其他相关项目如 Brendan Zab 的 [Language Garden]、UTexas 的 [CS345 讲座笔记]、TAPL 代码示例的 github 仓库等,最后提及许可证为 MIT 或类似的。
关键信息:从 OCaml 移植到 Rust,不同版本的类型检查器及其特点,相关的其他项目,许可证情况。
重要细节:原始 TAPL 语言包含解析器和解释器但只关注类型检查器,移植时处理变量表示和调试相关事宜,不同版本的具体功能差异,以及其他相关项目的特点等。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用。你还可以使用@来通知其他用户。