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
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},
}