Currently very incomplete. Pull requests welcome! Note: end a line with two spaces to force a line break.
Refined² Environment Classifiers (OOPSLA 2026)
(paper)
(artifact)
by Yuito Murase and Atsushi Igarashi
When Do Staging Annotations Preserve Semantics? Mechanizing the Metatheory of Automatic Let-Insertion in Typed Multi-Stage Programming (OOPSLA 2026)
(paper)
(code)
by Jun Tan and Guannan Wei
Let It Be Optimized: Building Multi-stage Evaluators with Let-Insertion and Optimizations in Small Pieces (Functional Pearl) (ICFP 2026)
(paper)
(BibTeX)
(code)
by Guannan Wei, Jun Tan and Dinghong Zhong
Contextual MetaML: Syntax and Full Abstraction (LICS 2026)
(paper)
(BibTeX)
by Haoxuan Yin, Andrzej S. Murawski and C.-H. Luke Ong
Compile-Time Tensor Shape Checking via Staged Shape-Dependent Types (ECOOP 2026)
(paper)
(BibTeX)
(artifact)
by Takashi Suwa and Atsushi Igarashi
Mechanised Semantics of Multi-stage Programming (OOPSLA 2026)
(paper)
(BibTeX)
(artifact)
by Ka Wing Li, Maite Kramarz, Ningning Xie and Jeremy Yallop
Fail Faster: Staging and Fast Randomness for High-Performance PBT (OOPSLA 2026)
(paper)
(BibTeX)
(code)
by Cynthia Richey, Joseph W. Cutler, Harrison Goldstein and Benjamin C. Pierce
Handling Scope Checks: A Comparative Framework for Dynamic Scope Extrusion Checks (POPL 2026)
(paper)
(BibTeX)
(artifact)
by Michael Lee, Ningning Xie, Oleg Kiselyov and Jeremy Yallop
Staging Effect Handlers for Modular Search (PEPM 2026)
(paper)
(BibTeX)
by Alexandru Trifanov and Tom Schrijvers
MetaOCaml: ten years later – System description (SCP 2026)
(paper)
(BibTeX)
by Oleg Kiselyov
An ML-style module system for cross-stage type abstraction in multi-stage programming (SCP 2026)
(BibTeX)
by Takashi Suwa and Atsushi Igarashi
Taming Scope Extrusion in Gradual Imperative Metaprogramming (arXiv draft)
(paper)
(BibTeX)
by Tianyu Chen, Darshal Shetty, Jeremy G. Siek, Chao-Hong Chen, Weixi Ma, Arnaud Venet and Rocky Liu
Bounded Modal Logic: Explicit Scope Dependencies in Multi-Stage Programming (arXiv draft)
(paper)
(BibTeX)
by Yuito Murase and Akinori Maniwa
Multi-stage Programming with Splice Variables (ICFP 2025)
(paper)
(BibTeX)
(artifact)
by Tsung-Ju Chiang and Ningning Xie
Staging Automatic Differentiation with Fusion (Haskell 2025)
(BibTeX)
by Samuel Klumpers and Tom Schrijvers
A Pair of tricks (OlivierFest 2025)
(paper)
by Oleg Kiselyov
MAYUZIN: Runtime Generative and Analytical Metaprogramming (JIP 2025)
(paper)
by Ya Mone Zin and Yukiyoshi Kameyama
Staged Gradual Typing (GPCE 2025)
(paper)
(BibTeX)
by Hiroto Yaguchi and Yukiyoshi Kameyama
Explicit Level Imports (TFP 2025)
(paper)
(BibTeX)
by Matthew Pickering, Rodrigo Mesquita and Adam Gundry
Typed Meta-Programming with Splice Variables (Masters thesis)
(dissertation)
by Tsung-Ju Chiang
Type-Safe Code Generation with Algebraic Effects and Handlers (GPCE 2024)
(paper)
by Kanaru Isoda, Ayato Yokoyama and Yukiyoshi Kameyama
Staged Compilation with Module Functors (ICFP 2024)
(paper)
by Tsung-Ju Chiang, Jeremy Yallop, Leo White and Ningning Xie
Closure-Free Functional Programming in a Two-Level Type Theory (ICFP 2024)
(paper)
(BibTeX)
(code)
by András Kovács
Safe Pattern Generation for Multi-Stage Programming (ML 2024)
(extended abstract)
(code)
by Ethan Range and Jeremy Yallop
MetaOCaml: Ten Years Later (System Description) (FLOPS 2024)
(BibTeX)
by Oleg Kiselyov
An ML-Style Module System for Cross-Stage Type Abstraction in Multi-stage Programming (FLOPS 2024)
(paper)
(BibTeX)
by Takashi Suwa and Atsushi Igarashi
Complete Stream Fusion for Software-Defined Radio (PEPM 2024)
(paper)
(BibTeX)
(code)
by Tomoaki Kobayashi and Oleg Kiselyov
Scoped and Typed Staging by Evaluation (PEPM 2024)
(paper)
(BibTeX)
by Guillaume Allais
Generating C: Heterogeneous metaprogramming system description (SCP 2024)
(BibTeX)
by Oleg Kiselyov
Program generation meets program verification: A case study on number-theoretic transform (SCP 2024)
(BibTeX)
(code)
by Masahiro Masuda and Yukiyoshi Kameyama
Parsley: Optimising and Improving Parser Combinators (PhD thesis)
(dissertation)
by Jamie Willis
MetaOCaml Theory and Implementation (OCaml 2023)
(paper)
by Oleg Kiselyov
Safe and efficient generic functions with MacoCaml (OCaml 2023)
(paper)
(code)
by Dmitrij Szamozvancev, Leo White, Ningning Xie and Jeremy Yallop
MacoCaml: Staging Composable and Compilable Macros (ICFP 2023)
(paper)
by Ningning Xie, Leo White, Olivier Nicole and Jeremy Yallop
flap: A Deterministic Parser with Fused Lexing (PLDI 2023)
(paper)
(BibTeX)
(code)
by Jeremy Yallop, Ningning Xie and Neel Krishnaswami
Generating Programs for Polynomial Multiplication with Correctness Assurance (PEPM 2023)
(BibTeX)
by Ryo Tokuda and Yukiyoshi Kameyama
Scalable Metaprogramming in Scala 3 (PhD thesis)
(dissertation)
by Nicolas Stucki
Highest-performance Stream Processing (OCaml 2022)
(paper)
(code)
by Oleg Kiselyov, Tomoaki Kobayashi, Aggelos Biboudis, Nick Palladinos
Staged Compilation with Two-Level Type Theory (ICFP 2022)
(paper)
(BibTeX)
(code)
by András Kovács
Unified Program Generation and Verification: A Case Study on Number-Theoretic Transform (FLOPS 2022)
(paper)
(code)
by Masahiro Masuda and Yukiyoshi Kameyama
Generating C: System Description (FLOPS 2022)
(BibTeX)
by Oleg Kiselyov
Staging with Class: A Specification for Typed Template Haskell (POPL 2022)
(paper)
(BibTeX)
by Ningning Xie, Matthew Pickering, Andres Löh, Nicolas Wu, Jeremy Yallop and Meng Wang
let (rec) insertion without effects, lights or magic (short paper) (PEPM 2022)
(paper)
by Oleg Kiselyov and Jeremy Yallop
Type-safe generation of modules in applicative and generative styles (GPCE 2021)
(paper)
(BibTeX)
by Yuhi Sato and Yukiyoshi Kameyama
Multi-stage programming with generative and analytical macros (GPCE 2021)
(BibTeX)
(proofs)
by Nicolas Stucki, Jonathan Immanuel Brachthäuser and Martin Odersky
Module Generation in Multi-Stage Programming (Masters thesis)
(dissertation)
by Yuhi Sato
Module generation without regret (PEPM 2020)
(paper)
(BibTeX)
by Yuhi Sato, Yukiyoshi Kameyama and Takahisa Watanabe
Session Types without Sophistry (FLOPS 2020)
(paper)
(BibTeX)
by Oleg Kiselyov and Keigo Imai
Staged Sums of Products (Haskell 2020)
(paper)
(BibTeX)
by Matthew Pickering, Andres Löh and Nicolas Wu
Staged Selective Parser Combinators (ICFP 2020)
(paper)
(BibTeX)
by Jamie Willis, Nicolas Wu and Matthew Pickering
Refining semantics for multi-stage programming (COMLAN, 2019)
(BibTeX)
by Rui Ge and Ronald Garcia
A Survey of Metaprogramming Languages (CSUR, 2019)
(paper)
(BibTeX)
by Yannis Lilis and Anthony Savidis
Multi-stage Programs in Context (Haskell 2019)
(paper)
(BibTeX)
by Matthew Pickering, Nicolas Wu and Csongor Kiss
A Dependently Typed Multi-Stage Calculus (APLAS 2019)
(paper)
(BibTeX)
by Akira Kawata and Atushi Igarashi
A typed, algebraic approach to parsing (PLDI 2019)
(paper)
(BibTeX)
by Neelakantan Krishnaswami and Jeremy Yallop
Generating mutually recursive definitions (PEPM 2019)
(paper)
(BibTeX)
by Jeremy Yallop and Oleg Kiselyov
Meta C++: an extension layer for multi-stage generative metaprogramming (Journal of Object Technology)
(paper)
(BibTeX)
by Yannis Lilis and Anthony Savidis
let (rec) insertion without effects, lights or magic (extended abstract) (ML 2019)
(extended abstract)
Oleg Kiselyov and Jeremy Yallop
Reconciling Abstraction with High Performance: A MetaOCaml approach (Book)
(BibTeX)
by Oleg Kiselyov
Funcons for HGMP: the fundamental constructs of homogeneous generative meta-programming (short paper) (GPCE 2018)
(paper)
(BibTeX)
by L. Thomas van Binsbergen
A Practical Unification of Multi-stage Programming and Macros (GPCE 2018)
(paper)
(BibTeX)
by Nicolas Stucki, Aggelos Biboudis and Martin Odersky
Program Generation for ML Modules (short paper) (PEPM 2018)
(paper)
(BibTeX)
by Takahisa Watanabe and Yukiyoshi Kameyama
Partially static data as free extension of algebras (PEPM 2018, ICFP 2018)
(short paper (PEPM))
(full paper (ICFP))
(BibTeX)
by Jeremy Yallop, Tamara von Glehn and Ohad Kammar
Generating mutually recursive definitions (extended abstract) (ML 2018)
(extended abstract)
by Jeremy Yallop and Oleg Kiselyov
Multi-Stage JavaScript (arXiv draft)
(paper)
by Anthony Savidis, Yannis Apostolidis and Yannis Lilis
Staging with Control: Type-Safe Multi-stage Programming with Control Operators (GPCE 2017)
(paper)
(BibTeX)
by Junpei Oishi, Yukiyoshi Kameyama
Generating Code with Polymorphic let: A Ballad of Value Restriction, Copying and Sharing (ML 2015 post-proceedings)
(paper)
(BibTeX)
by Oleg Kiselyov
Staged generic programming (ICFP 2017)
(paper)
(BibTeX)
by Jeremy Yallop
Refining Semantics for Multi-Stage Programming (GPCE 2017)
(paper)
(BibTeX)
by Rui Ge and Ronald Garcia
Stream Fusion, to Completeness (POPL 2017)
(paper)
(BibTeX)
by Oleg Kiselyov, Aggelos Biboudis, Nick Palladinos and Yannis Smaragdakis
Modelling Homogeneous Generative Meta-programming (ECOOP 2017)
(paper)
(BibTeX)
by Martin Berger, Laurence Tratt and Christian Urban
Refining semantics for multi-stage programming (Masters dissertation, 2016)
(dissertation)
by Rui Ge
Refined Environment Classifiers: Type- and Scope-safe Code Generation with Mutable Cells (APLAS 2016)
(paper)
(BibTeX)
by Oleg Kiselyov, Yukiyoshi Kameyama and Yuto Sudo
Reasoning about multi-stage programs (JFP 2016)
(paper)
(BibTeX)
by Jun Inoue and Walid Taha
Staging Beyond Terms: Prospects and Challenges (PEPM 2016)
(paper)
(BibTeX)
by Jun Inoue, Oleg Kiselyov and Yukiyoshi Kameyama
Automatic Staging via Partial Evaluation Techniques (SCSS 2016)
(paper)
(BibTeX)
by Kenichi Asai and Yukiyoshi Kameyama
Toward Introducing Binding-Time Analysis to MetaOCaml (PEPM 2016)
(paper)
(BibTeX)
by Kenichi Asai
Generic partially-static data (TyDe 2016)
(extended abstract)
(BibTeX)
by David Kaloper-Meršinjak and Jeremy Yallop
Staging generic programming (PEPM 2016)
(paper)
(BibTeX)
by Jeremy Yallop
IR-MetaOCaml : (re)implementing MetaOCaml (Masters thesis)
(dissertation) (code)
by Evgeny Roubinchtein
Program logics for homogeneous generative run-time meta-programming (LMCS 2015)
(paper)
(BibTeX)
by Martin Berger and Laurence Tratt
Modular macros (OCaml 2015)
(extended abstract)
by Jeremy Yallop and Leo White
Generate and offshore: type-safe and modular code generation for low-level optimization (FHPC 2015)
(BibTeX)
by Naoki Takashima, Hiroki Sakamoto and Yukiyoshi Kameyama
Combinators for Impure yet Hygienic Code Generation (SCP 2015)
(paper)
(BibTeX)
by Yukiyoshi Kameyama, Oleg Kiselyov and Chung-chieh Shan
The design and implementation of MetaOCaml (FLOPS 2014)
(paper)
(BibTeX)
by Oleg Kiselyov
On Cross-Stage Persistence in Multi-Stage Programming (FLOPS 2014)
(paper)
(BibTeX)
by Yuichiro Hanada and Atsushi Igarashi
Compiling a Reflective Language using MetaOCaml (GPCE 2014)
(BibTeX)
by Kenichi Asai
Supercompiling with Staging (META 2014)
(paper)
by Jun Inoue
Staging and High-Performance Computing: Theory and Practice (NII Shonan 2014)
(report)
(BibTeX)
by Oleg Kiselyov, Yukiyoshi Kameyama and Jeremy Siek
Reasoning about Multi-Stage Programs (ESOP 2012)
(paper)
(BibTeX)
by Jun Inoue and Walid Taha
Bridging the theory of staged programming languages and the practice of high-performance computing (NII Shonan 2012)
(report)
(BibTeX)
by Oleg Kiselyov, Chung-chieh Shan and Yukiyoshi Kameyama
Type-directed Automatic Generation of Open Code Multi-Staged Programs (Journal of KIISE 2012)
by Yung-Bum Jung, Won-Chan Lee and Kwang-Keun Yi
Polymorphic multi-stage language with control effects (APLAS 2011)
(paper)
(BibTeX)
by Yuichiro Kokaji and Yukiyoshi Kameyama
A Generative Geometric Kernel (PEPM 2011)
(paper)
(BibTeX)
by Jacques Carette, Mustafa Elsheikh and Spencer Smith
Multi-stage programming with functors and monads: eliminating abstraction overhead from generic code (GPCE 2005, SCP 2011)
(GPCE 2005 paper)
(SCP 2011 paper)
(BibTeX)
by Jacques Carette and Oleg Kiselyov
Shifting the Stage: staging with delimited control (JFP 2011)
(paper)
(BibTeX)
by Yukiyoshi Kameyama, Oleg Kiselyov and Chung-chieh Shan
Multi-Stage Programming for High-Level Description of Circuit Families (CISP 2010)
(paper)
by Fulong Chen, Walid Taha and Lei Deng
Mint: Java multi-stage programming using weak separability (PLDI 2010)
(paper)
(BibTeX)
by Edwin Westbrook, Mathias Ricken, Jun Inoue, Yilong Yao, Tamer Abdelatif and Walid Taha
A Generative Approach to Meshing Geometry (McMaster University, 2010)
(thesis)
by Mustafa Elsheikh
The MetaOCaml files: Status report and research proposal (ML 2010)
(extended abstract)
by Oleg Kiselyov and Chung-chieh Shan
A Logical Foundation for Environment Classifiers (TLCA 2009) (LMCS 2010)
(paper (TLCA))
(paper (LMCS)
(BibTeX (TLCA))
(BibTeX (LMCS))
by Takeshi Tsukada and Atsushi Igarashi
Functional Meta-programming for Parallel Skeletons (ICCS, 2008)
(paper)
(BibTeX)
by Jocelyn Sérot and Joel Falcou
Closing the Stage: From Staged Code to Typed Closures (PEPM 2008)
(paper)
(BibTeX)
by Yukiyoshi Kameyama, Oleg Kiselyov and Chung-chieh Shan
Concoqtion: indexed types now! (PEPM 2007)
(paper)
(BibTeX)
by Seth Fogarty, Emir Pasalic, Jeremy Siek and Walid Taha
A Gentle Introduction to Multi-stage Programming, Part II (GTTSE 2007)
(paper)
(BibTeX)
by Walid Taha
Dependent open terms and the evaluation contexts that bind them (Unpublished)
(extended abstract)
by Oleg Kiselyov and Chung-chieh Shan
MetaOCaml Server Pages (SCP 2006)
(paper)
(BibTeX)
by Christopher League
Gaussian Elimination: a case study in efficient genericity with MetaOCaml (SCP 2006)
(paper)
(BibTeX)
by Jacques Carette
Combining Partial Evaluation and Staged Interpretation in the Implementation of Domain-Specific Languages (SCP 2006)
(paper)
(BibTeX)
by Christoph A. Herrmann and Tobias Langhammer
A Monadic Approach for Avoiding Code Duplication (PEPM 2006)
(paper)
(BibTeX)
by Kedar Swadi, Walid Taha, Oleg Kiselyov and Emir Pasalic
Experiences with an object-oriented, multi-stage language (SCP 2006)
(paper)
(BibTeX)
by Gregory Neverov and Paul Roe
In search of a program generator to implement generic transformations for high-performance computing (SCP 2006)
(paper)
(BibTeX)
by Albert Cohen, Sébastien Donadio, Maria-Jesus Garzaran, Christoph Herrmann, Oleg Kiselyov, David Paduac
Towards a fully-reflective meta-programming language (ACSC 2005)
(paper)
(BibTeX)
by Gregory Neverov and Paul Roe
Tuning MetaOCaml Programs for High Performance
(thesis)
by Tobias Langhammer
Implicitly Heterogeneous Multi-Stage Programming (GPCE 2005) (New Generation Comput. 2007)
(extended)
(BibTeX)
by Jason Eckhardt, Roumen Kaiabachev, Emir Pasalic, Kedar Swadi and Walid Taha
Generating Message-Passing Programs from Abstract Specifications by Partial Evaluation (PPL 2005)
(paper)
(BibTeX)
by Christoph A. Herrmann
Staging Dynamic Programming Algorithms (Unpublished)
(paper)
by Kedar Swadi, Walid Taha and Oleg Kiselyov
Staged Computation with Names and Necessity (JFP 2005)
(paper)
(BibTeX)
by Aleksandar Nanevski and Frank Pfenning
Binding-Time Analysis for MetaML via Type Inference and Constraint Solving (TACAS 2004)
(paper)
(BibTeX)
by Nathan Linger and Tim Sheard
DSL Implementation in MetaOCaml, Template Haskell, and C++ (DSPG 2003) (OOPSLA companion 2004)
(paper)
(BibTeX (DSPG))
(BibTeX (OOPSLA))
by Krzysztof Czarnecki, John O’Donnell, Jörg Striegnitz and Walid Taha
A Gentle Introduction to Multi-stage Programming (DSPG 2004)
(paper)
(BibTeX)
by Walid Taha
A Methodology for Generating Verified Combinatorial Circuits (EMSOFT 2004)
(paper)
(BibTeX)
by Oleg Kiselyov, Kedar N. Swadi and Walid Taha
ML-like Inference for Classifiers (ESOP 2004)
(paper)
(BibTeX)
by Cristiano Calcagno, Eugenio Moggi and Walid Taha
MetaKlaim: A Type Safe Multi-stage Language for Global Computing (MSCS 2004)
(paper)
(BibTeX)
by Gian Luigi Ferrari, Eugenio Moggi and Rosario Pugliese
Closed Types for a Safe Imperative MetaML (JFP 2003)
(paper)
(BibTeX)
by Cristiano Calcagno, Eugenio Moggi and Tim Sheard
Implementing Multi-stage Languages Using ASTs, Gensym, and Reflection (GPCE 2003)
(paper)
(BibTeX)
by Cristiano Calcagno, Walid Taha, Liwen Huang and Xavier Leroy
Staged Notational Definitions (GPCE 2003)
(paper)
(BibTeX)
by Walid Taha and Patricia Johann
Environment Classifiers (POPL 2003)
(paper)
(BibTeX)
by Walid Taha and Michael Florentin Nielsen
An Efficient Staging Algorithm for Binding-Time Analysis (LOPSTR 2003)
(paper)
(BibTeX)
by Takuma Murakami, Zhenjiang Hu, Kazuhiko Kakehi and Masato Takeichi
Tagless Staged Interpreters for Typed Languages (ICFP 2002)
(paper)
(BibTeX)
by Emir Pasalic, Walid Taha and Tim Sheard
Meta-programming with names and necessity (ICFP 2002)
(paper)
(BibTeX)
by Aleksandar Nanevski
Accomplishments and Research Challenges in Meta-programming (SAIG 2001)
(paper)
(BibTeX)
by Tim Sheard
Dynamically Adaptable Software with Metacomputations in a Staged Language (SAIG 2001)
(paper)
(BibTeX)
by William L. Harrison and Tim Sheard
Macros as Multi-Stage Computations (ICFP 2001)
(paper)
(BibTeX)
by Steven E. Ganz, Amr Sabry and Walid Taha
Multi-Stage Programming with Explicit Annotations (PEPM 1997, TCS 2000)
(PEPM 1997 paper)
(BibTeX (PEPM))
(BibTeX (TCS))
by Walid Taha and Tim Sheard
Closed Types as a Simple Approach to Safe Imperative Multi-Stage Programming (ICALP 2000)
(paper)
(BibTeX)
by Cristiano Calcagno, Eugenio Moggi and Walid Taha
Multi-Stage Imperative Languages: A Conservative Extension Result (SAIG 2000)
(paper)
(BibTeX)
by Cristiano Calcagno and Eugenio Moggi
Sound Reductions for Untyped CBN MetaML (PEPM 2000)
(paper)
(BibTeX)
by Walid Taha
Multi-Stage Programming: Its Theory and Applications (1999)
(dissertation)
by Walid Taha
DSL Implementation Using Staging and Monads (DSL 1999)
(paper)
(BibTeX)
by Tim Sheard, Zine-el-abidine Benaissa and Emir Pasalic
Logical Modalities and Multi-Stage Programming (IMLA 1999)
(paper)
by Zine-El-Abidine Benaissa, Eugenio Moggi, Walid Taha and Tim Sheard
Idealized MetaML: Simpler, and More Expressive (ESOP 1999)
(paper)
(BibTeX)
by Eugenio Moggi, Walid Taha, Zine-El-Abidine Benaissa and Tim Sheard
Using MetaML: A Staged Programming Language (Advanced Functional Programming 1998)
(paper)
(BibTeX)
by Tim Sheard
Multi-Stage Programming: Axiomatization and Type-Safety (ICALP 1998)
(paper)
(BibTeX)
by Walid Taha, Zine-El-Abidine Benaissa and Tim Sheard
Currently very incomplete. Pull requests welcome! Note: end a line with two spaces to force a line break.
Refined² Environment Classifiers (OOPSLA 2026)
(paper)
(artifact)
by Yuito Murase and Atsushi Igarashi
When Do Staging Annotations Preserve Semantics? Mechanizing the Metatheory of Automatic Let-Insertion in Typed Multi-Stage Programming (OOPSLA 2026)
(paper)
(code)
by Jun Tan and Guannan Wei
Let It Be Optimized: Building Multi-stage Evaluators with Let-Insertion and Optimizations in Small Pieces (Functional Pearl) (ICFP 2026)
(paper)
(BibTeX)
(code)
by Guannan Wei, Jun Tan and Dinghong Zhong
Contextual MetaML: Syntax and Full Abstraction (LICS 2026)
(paper)
(BibTeX)
by Haoxuan Yin, Andrzej S. Murawski and C.-H. Luke Ong
Compile-Time Tensor Shape Checking via Staged Shape-Dependent Types (ECOOP 2026)
(paper)
(BibTeX)
(artifact)
by Takashi Suwa and Atsushi Igarashi
Mechanised Semantics of Multi-stage Programming (OOPSLA 2026)
(paper)
(BibTeX)
(artifact)
by Ka Wing Li, Maite Kramarz, Ningning Xie and Jeremy Yallop
Fail Faster: Staging and Fast Randomness for High-Performance PBT (OOPSLA 2026)
(paper)
(BibTeX)
(code)
by Cynthia Richey, Joseph W. Cutler, Harrison Goldstein and Benjamin C. Pierce
Handling Scope Checks: A Comparative Framework for Dynamic Scope Extrusion Checks (POPL 2026)
(paper)
(BibTeX)
(artifact)
by Michael Lee, Ningning Xie, Oleg Kiselyov and Jeremy Yallop
Staging Effect Handlers for Modular Search (PEPM 2026)
(paper)
(BibTeX)
by Alexandru Trifanov and Tom Schrijvers
MetaOCaml: ten years later – System description (SCP 2026)
(paper)
(BibTeX)
by Oleg Kiselyov
An ML-style module system for cross-stage type abstraction in multi-stage programming (SCP 2026)
(BibTeX)
by Takashi Suwa and Atsushi Igarashi
Taming Scope Extrusion in Gradual Imperative Metaprogramming (arXiv draft)
(paper)
(BibTeX)
by Tianyu Chen, Darshal Shetty, Jeremy G. Siek, Chao-Hong Chen, Weixi Ma, Arnaud Venet and Rocky Liu
Bounded Modal Logic: Explicit Scope Dependencies in Multi-Stage Programming (arXiv draft)
(paper)
(BibTeX)
by Yuito Murase and Akinori Maniwa
Multi-stage Programming with Splice Variables (ICFP 2025)
(paper)
(BibTeX)
(artifact)
by Tsung-Ju Chiang and Ningning Xie
Staging Automatic Differentiation with Fusion (Haskell 2025)
(BibTeX)
by Samuel Klumpers and Tom Schrijvers
A Pair of tricks (OlivierFest 2025)
(paper)
by Oleg Kiselyov
MAYUZIN: Runtime Generative and Analytical Metaprogramming (JIP 2025)
(paper)
by Ya Mone Zin and Yukiyoshi Kameyama
Staged Gradual Typing (GPCE 2025)
(paper)
(BibTeX)
by Hiroto Yaguchi and Yukiyoshi Kameyama
Explicit Level Imports (TFP 2025)
(paper)
(BibTeX)
by Matthew Pickering, Rodrigo Mesquita and Adam Gundry
Typed Meta-Programming with Splice Variables (Masters thesis)
(dissertation)
by Tsung-Ju Chiang
Type-Safe Code Generation with Algebraic Effects and Handlers (GPCE 2024)
(paper)
by Kanaru Isoda, Ayato Yokoyama and Yukiyoshi Kameyama
Staged Compilation with Module Functors (ICFP 2024)
(paper)
by Tsung-Ju Chiang, Jeremy Yallop, Leo White and Ningning Xie
Closure-Free Functional Programming in a Two-Level Type Theory (ICFP 2024)
(paper)
(BibTeX)
(code)
by András Kovács
Safe Pattern Generation for Multi-Stage Programming (ML 2024)
(extended abstract)
(code)
by Ethan Range and Jeremy Yallop
MetaOCaml: Ten Years Later (System Description) (FLOPS 2024)
(BibTeX)
by Oleg Kiselyov
An ML-Style Module System for Cross-Stage Type Abstraction in Multi-stage Programming (FLOPS 2024)
(paper)
(BibTeX)
by Takashi Suwa and Atsushi Igarashi
Complete Stream Fusion for Software-Defined Radio (PEPM 2024)
(paper)
(BibTeX)
(code)
by Tomoaki Kobayashi and Oleg Kiselyov
Scoped and Typed Staging by Evaluation (PEPM 2024)
(paper)
(BibTeX)
by Guillaume Allais
Generating C: Heterogeneous metaprogramming system description (SCP 2024)
(BibTeX)
by Oleg Kiselyov
Program generation meets program verification: A case study on number-theoretic transform (SCP 2024)
(BibTeX)
(code)
by Masahiro Masuda and Yukiyoshi Kameyama
Parsley: Optimising and Improving Parser Combinators (PhD thesis)
(dissertation)
by Jamie Willis
MetaOCaml Theory and Implementation (OCaml 2023)
(paper)
by Oleg Kiselyov
Safe and efficient generic functions with MacoCaml (OCaml 2023)
(paper)
(code)
by Dmitrij Szamozvancev, Leo White, Ningning Xie and Jeremy Yallop
MacoCaml: Staging Composable and Compilable Macros (ICFP 2023)
(paper)
by Ningning Xie, Leo White, Olivier Nicole and Jeremy Yallop
flap: A Deterministic Parser with Fused Lexing (PLDI 2023)
(paper)
(BibTeX)
(code)
by Jeremy Yallop, Ningning Xie and Neel Krishnaswami
Generating Programs for Polynomial Multiplication with Correctness Assurance (PEPM 2023)
(BibTeX)
by Ryo Tokuda and Yukiyoshi Kameyama
Scalable Metaprogramming in Scala 3 (PhD thesis)
(dissertation)
by Nicolas Stucki
Highest-performance Stream Processing (OCaml 2022)
(paper)
(code)
by Oleg Kiselyov, Tomoaki Kobayashi, Aggelos Biboudis, Nick Palladinos
Staged Compilation with Two-Level Type Theory (ICFP 2022)
(paper)
(BibTeX)
(code)
by András Kovács
Unified Program Generation and Verification: A Case Study on Number-Theoretic Transform (FLOPS 2022)
(paper)
(code)
by Masahiro Masuda and Yukiyoshi Kameyama
Generating C: System Description (FLOPS 2022)
(BibTeX)
by Oleg Kiselyov
Staging with Class: A Specification for Typed Template Haskell (POPL 2022)
(paper)
(BibTeX)
by Ningning Xie, Matthew Pickering, Andres Löh, Nicolas Wu, Jeremy Yallop and Meng Wang
let (rec) insertion without effects, lights or magic (short paper) (PEPM 2022)
(paper)
by Oleg Kiselyov and Jeremy Yallop
Type-safe generation of modules in applicative and generative styles (GPCE 2021)
(paper)
(BibTeX)
by Yuhi Sato and Yukiyoshi Kameyama
Multi-stage programming with generative and analytical macros (GPCE 2021)
(BibTeX)
(proofs)
by Nicolas Stucki, Jonathan Immanuel Brachthäuser and Martin Odersky
Module Generation in Multi-Stage Programming (Masters thesis)
(dissertation)
by Yuhi Sato
Module generation without regret (PEPM 2020)
(paper)
(BibTeX)
by Yuhi Sato, Yukiyoshi Kameyama and Takahisa Watanabe
Session Types without Sophistry (FLOPS 2020)
(paper)
(BibTeX)
by Oleg Kiselyov and Keigo Imai
Staged Sums of Products (Haskell 2020)
(paper)
(BibTeX)
by Matthew Pickering, Andres Löh and Nicolas Wu
Staged Selective Parser Combinators (ICFP 2020)
(paper)
(BibTeX)
by Jamie Willis, Nicolas Wu and Matthew Pickering
Refining semantics for multi-stage programming (COMLAN, 2019)
(BibTeX)
by Rui Ge and Ronald Garcia
A Survey of Metaprogramming Languages (CSUR, 2019)
(paper)
(BibTeX)
by Yannis Lilis and Anthony Savidis
Multi-stage Programs in Context (Haskell 2019)
(paper)
(BibTeX)
by Matthew Pickering, Nicolas Wu and Csongor Kiss
A Dependently Typed Multi-Stage Calculus (APLAS 2019)
(paper)
(BibTeX)
by Akira Kawata and Atushi Igarashi
A typed, algebraic approach to parsing (PLDI 2019)
(paper)
(BibTeX)
by Neelakantan Krishnaswami and Jeremy Yallop
Generating mutually recursive definitions (PEPM 2019)
(paper)
(BibTeX)
by Jeremy Yallop and Oleg Kiselyov
Meta C++: an extension layer for multi-stage generative metaprogramming (Journal of Object Technology)
(paper)
(BibTeX)
by Yannis Lilis and Anthony Savidis
let (rec) insertion without effects, lights or magic (extended abstract) (ML 2019)
(extended abstract)
Oleg Kiselyov and Jeremy Yallop
Reconciling Abstraction with High Performance: A MetaOCaml approach (Book)
(BibTeX)
by Oleg Kiselyov
Funcons for HGMP: the fundamental constructs of homogeneous generative meta-programming (short paper) (GPCE 2018)
(paper)
(BibTeX)
by L. Thomas van Binsbergen
A Practical Unification of Multi-stage Programming and Macros (GPCE 2018)
(paper)
(BibTeX)
by Nicolas Stucki, Aggelos Biboudis and Martin Odersky
Program Generation for ML Modules (short paper) (PEPM 2018)
(paper)
(BibTeX)
by Takahisa Watanabe and Yukiyoshi Kameyama
Partially static data as free extension of algebras (PEPM 2018, ICFP 2018)
(short paper (PEPM))
(full paper (ICFP))
(BibTeX)
by Jeremy Yallop, Tamara von Glehn and Ohad Kammar
Generating mutually recursive definitions (extended abstract) (ML 2018)
(extended abstract)
by Jeremy Yallop and Oleg Kiselyov
Multi-Stage JavaScript (arXiv draft)
(paper)
by Anthony Savidis, Yannis Apostolidis and Yannis Lilis
Staging with Control: Type-Safe Multi-stage Programming with Control Operators (GPCE 2017)
(paper)
(BibTeX)
by Junpei Oishi, Yukiyoshi Kameyama
Generating Code with Polymorphic let: A Ballad of Value Restriction, Copying and Sharing (ML 2015 post-proceedings)
(paper)
(BibTeX)
by Oleg Kiselyov
Staged generic programming (ICFP 2017)
(paper)
(BibTeX)
by Jeremy Yallop
Refining Semantics for Multi-Stage Programming (GPCE 2017)
(paper)
(BibTeX)
by Rui Ge and Ronald Garcia
Stream Fusion, to Completeness (POPL 2017)
(paper)
(BibTeX)
by Oleg Kiselyov, Aggelos Biboudis, Nick Palladinos and Yannis Smaragdakis
Modelling Homogeneous Generative Meta-programming (ECOOP 2017)
(paper)
(BibTeX)
by Martin Berger, Laurence Tratt and Christian Urban
Refining semantics for multi-stage programming (Masters dissertation, 2016)
(dissertation)
by Rui Ge
Refined Environment Classifiers: Type- and Scope-safe Code Generation with Mutable Cells (APLAS 2016)
(paper)
(BibTeX)
by Oleg Kiselyov, Yukiyoshi Kameyama and Yuto Sudo
Reasoning about multi-stage programs (JFP 2016)
(paper)
(BibTeX)
by Jun Inoue and Walid Taha
Staging Beyond Terms: Prospects and Challenges (PEPM 2016)
(paper)
(BibTeX)
by Jun Inoue, Oleg Kiselyov and Yukiyoshi Kameyama
Automatic Staging via Partial Evaluation Techniques (SCSS 2016)
(paper)
(BibTeX)
by Kenichi Asai and Yukiyoshi Kameyama
Toward Introducing Binding-Time Analysis to MetaOCaml (PEPM 2016)
(paper)
(BibTeX)
by Kenichi Asai
Generic partially-static data (TyDe 2016)
(extended abstract)
(BibTeX)
by David Kaloper-Meršinjak and Jeremy Yallop
Staging generic programming (PEPM 2016)
(paper)
(BibTeX)
by Jeremy Yallop
IR-MetaOCaml : (re)implementing MetaOCaml (Masters thesis)
(dissertation) (code)
by Evgeny Roubinchtein
Program logics for homogeneous generative run-time meta-programming (LMCS 2015)
(paper)
(BibTeX)
by Martin Berger and Laurence Tratt
Modular macros (OCaml 2015)
(extended abstract)
by Jeremy Yallop and Leo White
Generate and offshore: type-safe and modular code generation for low-level optimization (FHPC 2015)
(BibTeX)
by Naoki Takashima, Hiroki Sakamoto and Yukiyoshi Kameyama
Combinators for Impure yet Hygienic Code Generation (SCP 2015)
(paper)
(BibTeX)
by Yukiyoshi Kameyama, Oleg Kiselyov and Chung-chieh Shan
The design and implementation of MetaOCaml (FLOPS 2014)
(paper)
(BibTeX)
by Oleg Kiselyov
On Cross-Stage Persistence in Multi-Stage Programming (FLOPS 2014)
(paper)
(BibTeX)
by Yuichiro Hanada and Atsushi Igarashi
Compiling a Reflective Language using MetaOCaml (GPCE 2014)
(BibTeX)
by Kenichi Asai
Supercompiling with Staging (META 2014)
(paper)
by Jun Inoue
Staging and High-Performance Computing: Theory and Practice (NII Shonan 2014)
(report)
(BibTeX)
by Oleg Kiselyov, Yukiyoshi Kameyama and Jeremy Siek
Reasoning about Multi-Stage Programs (ESOP 2012)
(paper)
(BibTeX)
by Jun Inoue and Walid Taha
Bridging the theory of staged programming languages and the practice of high-performance computing (NII Shonan 2012)
(report)
(BibTeX)
by Oleg Kiselyov, Chung-chieh Shan and Yukiyoshi Kameyama
Type-directed Automatic Generation of Open Code Multi-Staged Programs (Journal of KIISE 2012)
by Yung-Bum Jung, Won-Chan Lee and Kwang-Keun Yi
Polymorphic multi-stage language with control effects (APLAS 2011)
(paper)
(BibTeX)
by Yuichiro Kokaji and Yukiyoshi Kameyama
A Generative Geometric Kernel (PEPM 2011)
(paper)
(BibTeX)
by Jacques Carette, Mustafa Elsheikh and Spencer Smith
Multi-stage programming with functors and monads: eliminating abstraction overhead from generic code (GPCE 2005, SCP 2011)
(GPCE 2005 paper)
(SCP 2011 paper)
(BibTeX)
by Jacques Carette and Oleg Kiselyov
Shifting the Stage: staging with delimited control (JFP 2011)
(paper)
(BibTeX)
by Yukiyoshi Kameyama, Oleg Kiselyov and Chung-chieh Shan
Multi-Stage Programming for High-Level Description of Circuit Families (CISP 2010)
(paper)
by Fulong Chen, Walid Taha and Lei Deng
Mint: Java multi-stage programming using weak separability (PLDI 2010)
(paper)
(BibTeX)
by Edwin Westbrook, Mathias Ricken, Jun Inoue, Yilong Yao, Tamer Abdelatif and Walid Taha
A Generative Approach to Meshing Geometry (McMaster University, 2010)
(thesis)
by Mustafa Elsheikh
The MetaOCaml files: Status report and research proposal (ML 2010)
(extended abstract)
by Oleg Kiselyov and Chung-chieh Shan
A Logical Foundation for Environment Classifiers (TLCA 2009) (LMCS 2010)
(paper (TLCA))
(paper (LMCS)
(BibTeX (TLCA))
(BibTeX (LMCS))
by Takeshi Tsukada and Atsushi Igarashi
Functional Meta-programming for Parallel Skeletons (ICCS, 2008)
(paper)
(BibTeX)
by Jocelyn Sérot and Joel Falcou
Closing the Stage: From Staged Code to Typed Closures (PEPM 2008)
(paper)
(BibTeX)
by Yukiyoshi Kameyama, Oleg Kiselyov and Chung-chieh Shan
Concoqtion: indexed types now! (PEPM 2007)
(paper)
(BibTeX)
by Seth Fogarty, Emir Pasalic, Jeremy Siek and Walid Taha
A Gentle Introduction to Multi-stage Programming, Part II (GTTSE 2007)
(paper)
(BibTeX)
by Walid Taha
Dependent open terms and the evaluation contexts that bind them (Unpublished)
(extended abstract)
by Oleg Kiselyov and Chung-chieh Shan
MetaOCaml Server Pages (SCP 2006)
(paper)
(BibTeX)
by Christopher League
Gaussian Elimination: a case study in efficient genericity with MetaOCaml (SCP 2006)
(paper)
(BibTeX)
by Jacques Carette
Combining Partial Evaluation and Staged Interpretation in the Implementation of Domain-Specific Languages (SCP 2006)
(paper)
(BibTeX)
by Christoph A. Herrmann and Tobias Langhammer
A Monadic Approach for Avoiding Code Duplication (PEPM 2006)
(paper)
(BibTeX)
by Kedar Swadi, Walid Taha, Oleg Kiselyov and Emir Pasalic
Experiences with an object-oriented, multi-stage language (SCP 2006)
(paper)
(BibTeX)
by Gregory Neverov and Paul Roe
In search of a program generator to implement generic transformations for high-performance computing (SCP 2006)
(paper)
(BibTeX)
by Albert Cohen, Sébastien Donadio, Maria-Jesus Garzaran, Christoph Herrmann, Oleg Kiselyov, David Paduac
Towards a fully-reflective meta-programming language (ACSC 2005)
(paper)
(BibTeX)
by Gregory Neverov and Paul Roe
Tuning MetaOCaml Programs for High Performance
(thesis)
by Tobias Langhammer
Implicitly Heterogeneous Multi-Stage Programming (GPCE 2005) (New Generation Comput. 2007)
(extended)
(BibTeX)
by Jason Eckhardt, Roumen Kaiabachev, Emir Pasalic, Kedar Swadi and Walid Taha
Generating Message-Passing Programs from Abstract Specifications by Partial Evaluation (PPL 2005)
(paper)
(BibTeX)
by Christoph A. Herrmann
Staging Dynamic Programming Algorithms (Unpublished)
(paper)
by Kedar Swadi, Walid Taha and Oleg Kiselyov
Staged Computation with Names and Necessity (JFP 2005)
(paper)
(BibTeX)
by Aleksandar Nanevski and Frank Pfenning
Binding-Time Analysis for MetaML via Type Inference and Constraint Solving (TACAS 2004)
(paper)
(BibTeX)
by Nathan Linger and Tim Sheard
DSL Implementation in MetaOCaml, Template Haskell, and C++ (DSPG 2003) (OOPSLA companion 2004)
(paper)
(BibTeX (DSPG))
(BibTeX (OOPSLA))
by Krzysztof Czarnecki, John O’Donnell, Jörg Striegnitz and Walid Taha
A Gentle Introduction to Multi-stage Programming (DSPG 2004)
(paper)
(BibTeX)
by Walid Taha
A Methodology for Generating Verified Combinatorial Circuits (EMSOFT 2004)
(paper)
(BibTeX)
by Oleg Kiselyov, Kedar N. Swadi and Walid Taha
ML-like Inference for Classifiers (ESOP 2004)
(paper)
(BibTeX)
by Cristiano Calcagno, Eugenio Moggi and Walid Taha
MetaKlaim: A Type Safe Multi-stage Language for Global Computing (MSCS 2004)
(paper)
(BibTeX)
by Gian Luigi Ferrari, Eugenio Moggi and Rosario Pugliese
Closed Types for a Safe Imperative MetaML (JFP 2003)
(paper)
(BibTeX)
by Cristiano Calcagno, Eugenio Moggi and Tim Sheard
Implementing Multi-stage Languages Using ASTs, Gensym, and Reflection (GPCE 2003)
(paper)
(BibTeX)
by Cristiano Calcagno, Walid Taha, Liwen Huang and Xavier Leroy
Staged Notational Definitions (GPCE 2003)
(paper)
(BibTeX)
by Walid Taha and Patricia Johann
Environment Classifiers (POPL 2003)
(paper)
(BibTeX)
by Walid Taha and Michael Florentin Nielsen
An Efficient Staging Algorithm for Binding-Time Analysis (LOPSTR 2003)
(paper)
(BibTeX)
by Takuma Murakami, Zhenjiang Hu, Kazuhiko Kakehi and Masato Takeichi
Tagless Staged Interpreters for Typed Languages (ICFP 2002)
(paper)
(BibTeX)
by Emir Pasalic, Walid Taha and Tim Sheard
Meta-programming with names and necessity (ICFP 2002)
(paper)
(BibTeX)
by Aleksandar Nanevski
Accomplishments and Research Challenges in Meta-programming (SAIG 2001)
(paper)
(BibTeX)
by Tim Sheard
Dynamically Adaptable Software with Metacomputations in a Staged Language (SAIG 2001)
(paper)
(BibTeX)
by William L. Harrison and Tim Sheard
Macros as Multi-Stage Computations (ICFP 2001)
(paper)
(BibTeX)
by Steven E. Ganz, Amr Sabry and Walid Taha
Multi-Stage Programming with Explicit Annotations (PEPM 1997, TCS 2000)
(PEPM 1997 paper)
(BibTeX (PEPM))
(BibTeX (TCS))
by Walid Taha and Tim Sheard
Closed Types as a Simple Approach to Safe Imperative Multi-Stage Programming (ICALP 2000)
(paper)
(BibTeX)
by Cristiano Calcagno, Eugenio Moggi and Walid Taha
Multi-Stage Imperative Languages: A Conservative Extension Result (SAIG 2000)
(paper)
(BibTeX)
by Cristiano Calcagno and Eugenio Moggi
Sound Reductions for Untyped CBN MetaML (PEPM 2000)
(paper)
(BibTeX)
by Walid Taha
Multi-Stage Programming: Its Theory and Applications (1999)
(dissertation)
by Walid Taha
DSL Implementation Using Staging and Monads (DSL 1999)
(paper)
(BibTeX)
by Tim Sheard, Zine-el-abidine Benaissa and Emir Pasalic
Logical Modalities and Multi-Stage Programming (IMLA 1999)
(paper)
by Zine-El-Abidine Benaissa, Eugenio Moggi, Walid Taha and Tim Sheard
Idealized MetaML: Simpler, and More Expressive (ESOP 1999)
(paper)
(BibTeX)
by Eugenio Moggi, Walid Taha, Zine-El-Abidine Benaissa and Tim Sheard
Using MetaML: A Staged Programming Language (Advanced Functional Programming 1998)
(paper)
(BibTeX)
by Tim Sheard
Multi-Stage Programming: Axiomatization and Type-Safety (ICALP 1998)
(paper)
(BibTeX)
by Walid Taha, Zine-El-Abidine Benaissa and Tim Sheard