About

I am a member of the Research In Software Engineering (RISE) group and chair of the Programming Languages working group (PLX). Currently, I am interested in the design and application of strong type systems and declarative programming languages, like Haskell. In particular, I am interested in programming with Effect inference in the Koka project. Furthermore, I work on domain specific embedded languages, language design, and compiler technology.

I am on the program committee of WPDAI'18, alternate track on "Web Programming, Design, Analysis, and Implementation" of the WWW'18 conference in Lyon (Apr 2018) and PADL'18 conference on Practical Aspects of Declarative Languages in LA (Jan 2018, co-located with POPL); consider submitting a paper!

I am a permanent member of IFIP working group 2.16 on programming language design, and was chair of the Haskell Symposium steering committee till 2009. I was on the program committee of the ICFP 2015 conference, the APLAS 2014 conference, the Haskell Symposium 2012, OOPSLA'11, the 2010 ML workshop, the ICFP 2009 conference, and 2004 Haskell workshop. I was the organizer and program chair of the 2013 ML workshop.

Projects

Koka

Established: April 13, 2012

Koka is a function-oriented programming language that seperates pure values from side-effecting computations, where the effect of every function is automatically inferred. Koka has many features that help programmers to easily change their data types and code organization correctly, while having a small language core with a familiar JavaScript like syntax. The Koka project tries to see if effect inference can be used on larger scale programming. The language is strict (as in ML), but…

Concurrent Revisions

Established: September 15, 2010

The Revisions project introduces a novel programming model for concurrent, parallel, and distributed applications. It provides programmers with a simple, yet powerful and efficient mechanism (based on mutable snapshots and deterministic conflict resolution) to execute various application tasks in parallel even if those tasks access the same data and may exhibit read-write or write-write conflicts. To find out more about the basic idea and how it works: Read our OOPSLA 2010 paper (links for all publications…

Publications

2017

2016

2015

2014

2013

2012

2011

2010

2009

2008

2007

2006

2005

2004

2003

2001

1999

Projects