I am Professor for Programming Languages and Compilers at the University of Goettingen, Germany. I work on programming languages and compilers, with a focus on intermediate representations, type systems, partial evaluation, and high-performance systems.
My main project — I am its principal author and maintainer. MimIR is a pure, graph-based, higher-order intermediate representation rooted in the Calculus of Constructions: dependent types and parametric polymorphism out of the box, extensible plugins for domain-specific axioms and code generation, SSA without dominance, and sea-of-nodes-style normalization and partial evaluation. It targets DSL, tensor, automatic differentiation, and regex compilers.
FE — Fast, Efficient FrontEnds
FE is a C++23 toolkit for handwritten compiler and interpreter frontends. Instead of generating lexers or parsers, it provides the infrastructure every frontend needs anyway: source locations, diagnostics, interning, parsing support, command-line handling, and efficient memory management. MimIR above builds upon FE as well; these front ends do, too:
- Let — a simple demo language that builds upon FE
- SQL — a fast SQL parser
- Graphtool — a simple graph tool
Streamplay — browse and control a self-hosted music library on Navidrome, Subsonic, Kodi, or MPD
URL Shortener — Plasma applet to shorten URLs
- nvim-swap — reorder delimited items — arguments, list elements, table fields — via tree-sitter
- nvim-tex — modern LaTeX plugin based on tree-sitter and LSP
- nvim-typst — modern Typst plugin based on tree-sitter and LSP
Jump to 2026 · 2025 · 2023 · 2022 · 2021 · 2020 · 2019 · 2018 · 2017 · 2015 · 2014 · 2013 · 2012
- SSA without Dominance for Higher-Order Programs — PLDI 2026
- MimIR: An Extensible and Type-Safe Intermediate Representation for the DSL Age — POPL 2025
- AnyDSL: a partial evaluation framework for programming high-performance libraries — OOPSLA 2018
- A graph-based higher-order intermediate representation — CGO 2015
- Simple and Efficient Construction of Static Single Assignment Form — CC 2013
2 publications
1 publication
1 publication
2 publications
-
tinyMD: Mapping molecular dynamics simulations to heterogeneous hardware using partial evaluation
Rafael Ravedutti L. Machado, Jonas Schmitt, Sebastian Eibl, Jan Eitzinger, Roland Leißa, Sebastian Hack, Arsène Pérard-Gayot, Richard Membarth, Harald Köstler
-
FLOWER: A comprehensive dataflow compiler for high-level synthesis
Puya Amiri, Arsène Pérard-Gayot, Richard Membarth, Philipp Slusallek, Roland Leißa, Sebastian Hack
2 publications
-
AnyHLS: High-Level Synthesis With Partial Evaluation
M. Akif Özkan, Arsène Pérard-Gayot, Richard Membarth, Philipp Slusallek, Roland Leißa, Sebastian Hack, Jürgen Teich, Frank Hannig
-
AnySeq: A High Performance Sequence Alignment Library based on Partial Evaluation
André Müller, Bertil Schmidt, Andreas Hildebrandt, Richard Membarth, Roland Leißa, Matthis Kruse, Sebastian Hack
1 publication
2 publications
-
AnyDSL: a partial evaluation framework for programming high-performance libraries
Roland Leißa, Klaas Boesche, Sebastian Hack, Arsène Pérard-Gayot, Richard Membarth, Philipp Slusallek, André Müller, Bertil Schmidt
-
A Data Layout Transformation for Vectorizing Compilers
Arsène Pérard-Gayot, Richard Membarth, Philipp Slusallek, Simon Moll, Roland Leißa, Sebastian Hack
2 publications
2 publications
4 publications
-
Code Refinement of Stencil Codes
Marcel Köster, Roland Leißa, Sebastian Hack, Richard Membarth, Philipp Slusallek
-
Specialization through dynamic staging
Piotr Danilewski, Marcel Köster, Roland Leißa, Richard Membarth, Philipp Slusallek
-
Sierra: a SIMD extension for C++
Roland Leißa, Immanuel Haffner, Sebastian Hack
-
Target-specific refinement of multigrid codes
Richard Membarth, Philipp Slusallek, Marcel Köster, Roland Leißa, Sebastian Hack





