EDBT 2026 Demo / reviewers in the wild / expert
Mickaël Laurent
dblp:245/0300
· DBLP profile ↗
6ranked-venue papers
2as first author
6since 2021 · last 2026
0000-0003-1590-2392ORCID · corroborated
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 6 · 2 first-author · 6 since 2021
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2026 | Type Inference for Functional and Imperative Dynamic LanguagesabstractIn 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. Mickaël Laurent, Jan Vitek |
Proc. ACM Program. Lang. | 1 |
| 2026 | A Typed Intermediate Representation for Dynamic LanguagesabstractDynamic programming languages pose significant challenges for optimizing compilers due to features such as dynamic typing, late binding, reflection, copy-on-write, and delayed evaluation. To generate efficient code, compilers must speculate on which dynamic features will be exercised and produce specialized code based on these assumptions. This article presents the design of a statically typed, high-level intermediate representation (IR) that makes dynamic behaviors explicit and amenable to static analysis. Our IR combines gradual typing with ownership tracking, and explicitly represents promises, multiple function versions, and contextual dispatch. Together, these features directly support optimizations such as specialization, inlining, scope elision, and copy elimination. We formalize a core calculus, called FIŘ, that captures the essential features required for these optimizations. We provide an operational semantics, a type system, and flow and reflection analyses, and we prove the soundness of the type system. Mickaël Laurent, Jakob Hain, Filip Krikava, Sebastián Krynski, Jan Vitek |
ACM Trans. Program. Lang. Syst. | 1 |
| 2024 | Polymorphic Type Inference for Dynamic LanguagesabstractWe 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. Giuseppe Castagna, Mickaël Laurent, Kim Nguyen 0001 |
Proc. ACM Program. Lang. | 2 |
| 2022 | On type-cases, union elimination, and occurrence typingabstractWe extend classic union and intersection type systems with a type-case construction and show that the combination of the union elimination rule of the former and the typing rules for type-cases of our extension encompasses occurrence typing . To apply this system in practice, we define a canonical form for the expressions of our extension, called MSC-form. We show that an expression of the extension is typable if and only if its MSC-form is, and reduce the problem of typing the latter to the one of reconstructing annotations for that term. We provide a sound algorithm that performs this reconstruction and a proof-of-concept implementation. Giuseppe Castagna, Mickaël Laurent, Kim Nguyen 0001, Matthew Lutze |
Proc. ACM Program. Lang. | 2 |
| 2022 | Revisiting occurrence typingabstractWe revisit occurrence typing, a technique to refine the type of variables occurring in type-cases and, thus, capturesome programming patterns used in untyped languages. Although occurrence typing was tied from its inceptionto set-theoretic types-union types, in particular-it never fully exploited the capabilities of these types. Here weshow how, by using set-theoretic types, it is possible to develop a general typing framework that encompasses andgeneralizes several aspects of current occurrence typing proposals and that can be applied to tackle other problemssuch as the reconstruction of intersection types for unannotated or partially annotated functions and the optimizationof the compilation of gradually typed languages. Giuseppe Castagna, Victor Lanvin, Mickaël Laurent, Kim Nguyen 0001 |
Sci. Comput. Program. | 3 |
| 2021 | Merit and Blame Assignment with Kind 2
Daniel Larraz, Mickaël Laurent, Cesare Tinelli |
FMICS | 2 |