Ben Lippmeier

About Me




... more Talks



Discus is an experimental dialect of Haskell which investigates static typing and program transformation in the presence of computational effects. 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.


Rainfall is a smart contract programming model that allows mutually distrusting parties to manage assets on a distributed ledger. The model consists of a tuple space of authorized facts, and a set of production rules. Rules match on authorized facts, gaining their authority, and produce new facts with a subset of the gained authority. Rainfall allows assets such as crypto currencies to be defined in user code, rather than being baked directly into the ledger framework. Our authorization model also provides a natural privacy model, where not all rules or facts need to be revealed to all parties.


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.


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.

... more Projects




 At USyd