Skip to content

Latest commit

 

History

History
628 lines (479 loc) · 30.9 KB

README.md

File metadata and controls

628 lines (479 loc) · 30.9 KB

MetaML and MetaOCaml bibliography

Currently very incomplete. Pull requests welcome! Note: end a line with two spaces to force a line break.

2024

  • Staged Compilation with Module Functors (ICFP 2024)
    (paper)
    by Tsung-Ju Chiang, Jeremy Yallop, Leo White and Ningning Xie

  • 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

  • Generating C: Heterogeneous metaprogramming system description (SCP 2024)
    (BibTeX)
    by Oleg Kiselyov

2023

  • 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

2022

  • Highest-performance Stream Processing (OCaml 2022)
    (paper) (code)
    by Oleg Kiselyov, Tomoaki Kobayashi, Aggelos Biboudis, Nick Palladinos

  • 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

2021

  • Type-safe generation of modules in applicative and generative styles (GPCE 2021)
    (paper) (BibTeX)
    by Yuhi Sato and Yukiyoshi Kameyama

  • Module Generation in Multi-Stage Programming (Masters thesis)
    (dissertation)
    by Yuhi Sato

2020

  • 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

2019

  • 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

2018

  • 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

2017

  • 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

2016

  • 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

2015

  • 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

2014

  • 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

2013

  • Shonan Challenge for Generative Programming (PEPM 2013)
    (paper) (BibTeX)
    by Baris Aktemur, Yukiyoshi Kameyama, Oleg Kiselyov and Chung-chieh Shan

2012

  • 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

2011

  • 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

2010

  • 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

2009

  • Finally tagless, partially evaluated: tagless staged interpreters for simpler typed languages (JFP 19(5), 2009)
    (paper) (BibTeX)
    by Jacques Carette, Oleg Kiselyov and Chung-chieh Shan

2008

  • 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

2007

  • 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

2006

  • 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

2005

  • 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

2004

  • 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

2003

  • 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

2002

  • 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

2001

  • 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

2000

  • 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

1999

  • 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

1998

  • 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

1997

  • Multi-Stage Programming (poster at ICFP 1997)
    (BibTeX)
    by Walid Taha and Tim Sheard

Status of links at last commit: Build Status