|
| photo: Thomas Arnbo |
I am associate professor (lektor) at DIKU, being a part of the TOPPS group (Theory and Practice of Programming Languages).
I am also "studieleder" (director of studies) for computer science at the University of Copenhagen.
I'm working with automatic program analysis and transformation (in particular partial evaluation and program semi-inversion), compiler technology (in particular for functional languages), domain-specific languages and occasionally dabble in algorithms, complexity, automata theory, fractals and graphics.
Here is a link to a list of my scientific publications from 1992 onwards. Some of these are available online through the TOPPS bibliography.
I participate in the 3gERP project, which aim to define the next generation of ERP systems. My part of the project is about tools and technologies, with a focus on domain-specific languages and semantics-based analysis tools.
I have taught an undergraduate compilers course for over a decade. In the last several years, I have used my own textbook "Basics of Compiler Design", which is now available online.
|
Here is a picture illustrating partial evaluation: The partial evaluator PE takes a two-input program P and a value x for one of the arguments to P. It then produces a specialized one-input program Px. The picture was produced by a ray-tracer which was itself specialized to the particular scene using a partial evaluator. |
I have made a domain-specific language "Troll" for defining die-roll methods and calculating their probabilities. More information at the Troll homepage.
I have also made a generator of planet maps. See more at the Planet page.
I have made a simple role-playing game called Asgård. In Danish only, I'm afraid.
When the study structure at DIKU was revised, I made a variant of Hare and Tortoise based on the new structure. The resulting game is Studiespillet. Also in Danish.
Inspired by one of my favourite games Britannia, I have made a Fantasy board game called Hy Breasil.
Ages ago, on a challenge of designing a Chess variant on a board with exactly 39 positions, I made a very minimalistic hexagonal Chess variant.