projects
I am interested in the design and implementation of functional languages and, in particular, Haskell. Extending Haskell to new domains has been an ongoing theme of my work.
I'm part of the Programming Languages and Systems group here at CSE, UNSW. It is an exciting bunch of people to work with.
I'm a member of the Haskell-prime committee, whose task is to define the next revision of Haskell.
I am also known to tutor Software Construction, Computing 1B and Concepts of Programming Languages.
papers
code
blog
talks
Here's are the slides of recent talks I've presented:-
Rewriting Haskell Strings.
Overview of stream fusion, as described in the paper of the same name,
delivered at SAPLING.
2006-11-13. -
2006 PhD Review.
Discusses foreign language generation and evaluation at runtime,
Data.ByteString, and Haskell eval in foreign languages.
2006-07-12. -
Introduction to Data.ByteString, array fusion, and rewrite rules.
2006-06-06 -
Introduction to plugins, for non-programmers.
2005-12-05 -
Introduction to QuickCheck.
2005-11-01 -
Dynamic Applications From the Ground Up.
2005-09-30. Discusses state preserving dynamic update in Haskell. Based on the paper. Presented at the Haskell Workshop in Tallinn, Estonia. -
2005 PhD Review.
Discusses dynamic update/hot swapping and Yi.
2005-07-15. -
5 minute introduction to darcs.
2005-05-24. -
Plugging Haskell In.
2004-09-22. Discusses core features of hs-plugins, and the various levels of safety that can be achieved. Based on the paper. Presented at Haskell Workshop. -
2004 PhD Review.
2004-08-27. Discusses hs-plugins and its potential as a basis for a meta-programming system. -
Region memory management.
Discussion of region memory management. Delivered late 2003.