Your Twin learns with you

30% off annual Pro20% off monthly Pro

Ends in00h00m00s

Gabriel Scherer

Université Paris Cité
Country flagFrance

Research Interests

ApplyKite TwinLearns as you apply

Make your next move.

Prepare your application

Review drafts before you send them.

Explore related searches

Articles (9)

Year:

2026

Year:

2026

Year:

2026

Year:

2025

We propose a new language feature for ML-family languages, the ability to selectively unbox certain data constructors, so that their runtime representation gets compiled away to just the identity on their argument. Unboxing must be statically rejected when it could introduce confusion, that is, distinct values with the same representation. We discuss the use-case of big numbers, where unboxing allows to write code that is both efficient and safe, replacing either a safe but slow version or a fast but unsafe version. We explain the static analysis necessary to reject incorrect unboxing requests. We present our prototype implementation of this feature for the OCaml programming language, discuss several design choices and the interaction with advanced features such as Guarded Algebraic Datatypes. Our static analysis requires expanding type definitions in type expressions, which is not necessarily normalizing in presence of recursive type definitions. In other words, we must decide normalization of terms in the first-order λ-calculus with recursion. We provide an algorithm to detect non-termination on-the-fly during reduction, with proofs of correctness and completeness. Our algorithm turns out to be closely related to the normalization strategy for macro expansion in the cpp preprocessor.

Year:

2024

Year:

2024

Year:

2023

Year:

2022

Year:

2021

Collaborators (2)

Jeremy Yallop

University of Cambridge

UNITED KINGDOM
View details

François Pottier

Inria Centre de Recherche de Paris

FRANCE
View details