The multi-paradigm language Oz and its implementation Mozart support functional, constraint and concurrent object-oriented programming. My personal contributions to Oz and Mozart include, among others:
Design and implementation of the component system for Oz 3. Components (called functors in Oz) are first-class language entities. Functors provide for separate compilation and for deployment. Computations on functors, such as dynamic lazy linking, static linking, and reflection, are implemented in the language itself.
Denys Duchier, Leif Kornstaedt, Christian Schulte, and Gert Smolka. A Higher-order Module Discipline with Separate Compilation, Dynamic Linking, and Pickling. Draft, June 1998.
Denys Duchier, Leif Kornstaedt, and Christian Schulte. Application Programming, Mozart online documentation, 1998-2000.
Design and implementation of Mozart's Oz compiler. The Oz compiler is written in Oz itself and can be called from Oz applications by means of an API. This provides for full linguistic reflection capabilities.
Leif Kornstaedt. The Mozart Compiler, Mozart online documentation, 1998-2001.
Development of the Emacs-based Mozart IDE. It features code editing with syntax highlighting, compilation with error message parsing, running an interactive Mozart session, and debugging support.
Leif Kornstaedt. The Oz Programming Interface, Mozart online documentation, 1998-2001.
Development of the front-end generator Gump. The topic of my Diploma Thesis was the design and implementation of the front-end generator for Oz, called Gump. I later integrated Gump with the Mozart compiler.
Leif Kornstaedt. Definition und Implementierung eines Front-End-Generators für Oz, Diplomarbeit, Fachbereich Informatik, Universität Kaiserslautern. September 1996.
Leif Kornstaedt. Gump - A front-end generator for Oz, Mozart online documentation, 1996-1999.