t Campora,Chen,Erwig和Walkingshaw的“迁移渐变类型”的实现( , )。 紧随形式主义,即标签最接近纸张。 有几项补充和更改: 一些微小的错误修复和与本文的分歧。 大多数情况下必须执行约束生成和统一。 约束生成采用一个可选的用渐进类型注释的术语,并返回一个完全用迁移类型注释的术语。 操作员超载。 要使用ocaml编译器,您需要通过OPAM安装mgt运行时软件包。 通过固定最容易做到这一点: $ cd ocaml $ opam pin add . 此后,运行mgt编译器时, cargo build和cargo run应该可以正常工作。 超载 考虑一下JS中的==这样的源操作: true == true 1 == 1 0 == false 这些都返回true 。 在目标语言中,实际上存在三个基础操作: ==b : bool ->