Samuel Gélineau

dblp:74/1609 · DBLP profile ↗
← Back
1ranked-venue papers
0as first author
1since 2021 · last 2022
0000-0001-6070-485XORCID · reported

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 1 · 1 since 2021

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Software engineering, system software, and programming languages
1 paper
Programming languages and type systems · 100%

Topics — the 3 heaviest of 4, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Programming languages and type systems
metaprogramming
0.612022
Mœbius: metaprogramming using contextual types: the stage where system f can pattern match on itself · Proc. ACM Program. Lang. 2022
Programming languages and type systems › control structures
pattern matching
0.612022
Mœbius: metaprogramming using contextual types: the stage where system f can pattern match on itself · Proc. ACM Program. Lang. 2022
Programming languages and type systems › type system metatheory
type preservation
0.212022
Mœbius: metaprogramming using contextual types: the stage where system f can pattern match on itself · Proc. ACM Program. Lang. 2022

Methods — techniques the papers use, named apart from their topics

operational semantics · 0.6multi-level modal lambda calculus · 0.6
YearPublicationVenuePosition
2022 Mœbius: metaprogramming using contextual types: the stage where system f can pattern match on itself
abstract
We describe the foundation of the metaprogramming language, Mœbius, which supports the generation of polymorphic code and, more importantly, the analysis of polymorphic code via pattern matching. Mœbius has two main ingredients: 1) we exploit contextual modal types to describe open code together with the context in which it is meaningful. In Mœbius, open code can depend on type and term variables (level 0) whose values are supplied at a later stage, as well as code variables (level 1) that stand for code templates supplied at a later stage. This leads to a multi-level modal lambda-calculus that supports System-F style polymorphism and forms the basis for polymorphic code generation. 2) we extend the multi-level modal lambda-calculus to support pattern matching on code. As pattern matching on polymorphic code may refine polymorphic type variables, we extend our type-theoretic foundation to generate and track typing constraints that arise. We also give an operational semantics and prove type preservation. Our multi-level modal foundation for Mœbius provides the appropriate abstractions for both generating and pattern matching on open code without committing to a concrete representation of variable binding and contexts. Hence, our work is a step towards building a general type-theoretic foundation for multi-staged metaprogramming that, on the one hand, enforces strong type guarantees and, on the other hand, makes it easy to generate and manipulate code. This will allow us to exploit the full potential of metaprogramming without sacrificing the reliability of and trust in the code we are producing and running.
Junyoung Jang 0001, Samuel Gélineau, Stefan Monnier, Brigitte Pientka
Proc. ACM Program. Lang.2