I am a researcher interested in the efficient implementation of dynamic
programming languages, teaching half-time at Heinrich-Heine-Universität
Düsseldorf. I live in Duisburg. I used to work with Laurence Tratt as
a member of the Software Development Team at King's College London
from 2013-2016. Before, I was at Hasso-Plattner-Institute Potsdam with
Robert Hirschfeld and Heinrich-Heine-Universität Düsseldorf with
Michael Leuschel. I received my PhD from HHU Düsseldorf in 2013.
My main research interests are techniques for the efficient implementation of
dynamic programming languages. I am interested in tracing JITs, optimizations,
partial evaluation, particularly at runtime. I am a member of the Python
Software Foundation.
Contact
Find me on Mastodon
Projects
I am mainly involved in the PyPy project, as well as projects around it:
- RPython and its JIT: RPython is a project that tries to make implementing
dynamic languages a lot easier by providing a toolchain that helps with
various things such as garbage collection and most importantly, a good JIT
compiler. The long-term vision of PyPy is to realize the vision of really
efficient dynamic programming languages without too much implementation
effort on the side of the language implementors. I work on many aspects of
core RPython development, most importantly its meta-tracing JIT compiler.
(mercurial)
- PyPy: The most important application of RPython is PyPy, a fast and
compatible Python interpreter written in RPython. I have been a core
developer in the PyPy project since 2005 and have worked on almost all
aspects of the interpreter.
- Pydrofoil: A fast RISC-V emulator using the RPython JIT infrastructure,
based on the Sail model of RISC-V.
- Pyrolog: Pyrolog is a Prolog implementation in RPython that I wrote for my
Bachelor's thesis. The execution engine and many ISO builtins are
implemented. David Schneider and I improved on it in 2010 so that it works
with PyPy's JIT generator. This makes it a lot faster (but not quite as fast
as good C-based VMs).
- Pycket: Pycket is an implementation of Racket in RPython. (git)
- RSQueak (formerly called the SPy VM): RSQueak is an implementation of a
Smalltalk VM in RPython that tries to be compatible with Squeak images. I was
at the SPy sprint in 2007 that started the project and have helped out on
various aspects since then. (git)