Polymorphic Type Inference for Dynamic Languages - Archive ouverte HAL Accéder directement au contenu
Article Dans Une Revue Proceedings of the ACM on Programming Languages Année : 2024

Polymorphic Type Inference for Dynamic Languages

Résumé

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.
Fichier principal
Vignette du fichier
main.pdf (1.14 Mo) Télécharger le fichier
Origine : Fichiers produits par l'(les) auteur(s)

Dates et versions

hal-04284072 , version 1 (16-11-2023)

Licence

Paternité

Identifiants

Citer

Giuseppe Castagna, Mickaël Laurent, Kim Nguyen. Polymorphic Type Inference for Dynamic Languages: Reconstructing Types for Systems Combining Parametric, Ad-Hoc, and Subtyping Polymorphism. Proceedings of the ACM on Programming Languages, inPress, 8 (POPL), pp.40. ⟨10.1145/3632882⟩. ⟨hal-04284072⟩
137 Consultations
43 Téléchargements

Altmetric

Partager

Gmail Facebook X LinkedIn More