Journal article

Title:
Type Inference for Functional and Imperative Dynamic Languages
Authors:
M. Laurent, J. Vitek
Publication:
Proc. ACM Program. Lang. 10 (OOPSLA1)
DOI:
Year:
2026
Link:

Abstract:
In this paper, we formalize a type system based on set-theoretic types for dynamic languages that support both functional and imperative programming paradigms. We adapt prior work in the typing of overloaded and generic functions to support an impure λ-calculus, focusing on imperative features commonly found in dynamic languages such as JavaScript, Python, and Julia. We introduce a general notion of parametric opaque data types using set-theoretic types, enabling precise modeling of mutable data structures while promoting modularity, clarity, and readability. Finally, we compare our approach to existing work and evaluate our prototype implementation on a range of examples.

BibTeX:
@article{laurent_type_2026,
    title = {{Type Inference for Functional and Imperative Dynamic Languages}},
    author = {Laurent, Mickaël and Vitek, Jan},
    year = {2026},
    journal = {{Proc. ACM Program. Lang.}},
    publisher = {Association for Computing Machinery},
    number = {OOPSLA1},
    location = {New York, NY, USA},
    doi = {10.1145/3798220},
    url = {https://doi.org/10.1145/3798220},
    volume = {10},
}