尚未生成 AI 速览(可能缺少 API key 或等待下次运行补跑)。
We present a type system that combines, in a controlled way, first-order polymorphism with intersection types, union types, and subtyping, and prove its safety. We then define a type reconstruction algorithm that is sound and terminating. This yields a system in which unannotated functions are given polymorphic types (thanks to Hindley-Milner) that can express the overloaded behavior of the functions they type (thanks to the intersection introduction rule) and that are deduced by applying advanced techniques of type narrowing (thanks to the union elimination rule). This makes the system a prime candidate to type dynamic languages.
DOI 原文 ·
@article{paperbot2596,
title = {Polymorphic Type Inference for Dynamic Languages},
author = {Giuseppe Castagna and Mickaël Laurent and Kim Nguyễn},
journal = {Proceedings of the ACM on Programming Languages},
volume = {8},
number = {POPL},
year = {2024},
doi = {10.1145/3632882}
}