Ben Lippmeier

About Me



DDC - The Disciplined Disciple Compiler

DDC is a research compiler used to investigate program transformation in the presence of computational effects. It compiles a family of strict functional core languages and supports region, effect and closure typing. This extra information provides a handle on the operational behaviour of code that isn't available in other languages. Programs can be written in either a pure/functional or effectful/imperative style, and one of our goals is to provide both styles coherently in the same language. Update data without state monads, write putStr "foo" and mean it, learn to live again.


Repa is a Haskell library that provides high performance, regular, multi-dimensional, shape polymorphic parallel arrays. All numeric data is stored unboxed. Functions written with the Repa combinators are automatically parallel provided you supply +RTS -Nwhatever on the command line when running the program. Repa means "turnip" in Russian. If you don't like turnips then this library probably isn't for you.

Iron Lambda

Iron Lambda is a collection of Coq formalisations for functional languages of increasing complexity. It fills part of the gap between the end of the Software Foundations course and what appears in current research papers. Stockholm syndrome for semanticists, or at least the ones that can't Ltac.


Gloss hides the pain of drawing simple 2D graphics in Haskell behind a nice data structure and a couple of display functions. Used in 1st year CompSci at the ANU and UNSW. The library uses the GHC OpenGL binding, but you won't have to worry about any of that. Get something cool on the screen in under 10 minutes.

... more projects




At USyd: