Carl Friedrich Bolz-Tereick

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)

Publications

A list of my publications can be found on my Google Scholar page

Carl Friedrich Bolz-Tereick