Recent Articles

A pure attribute-grammar interpreter for the lambda calculus
Demonstrating attribute grammars in Kiama/Scala with an enlightening lambda calculus interpreter.more
Turing-Complete Templating in LiftWeb
Lift's built in snippets are not Turing-Complete, but they are only a hair's breadth away from it.more
Compiled and Interpreted Pattern Matching
Investigating the behaviour of pattern matching in Scala.more
101companies in jQuery and Javascript
Demonstrating term-rewriting with jQuery's DOM manipulation capabilitiesmore
101companies in dgen
Showing off dgen's term-rewriting and datatype generic abilities via 101 companies.more

Recent Publications

Compiled Generics for Functional Programming Langauges
We address the problem of extending existing functional language compilers to support generic programming constructs, such as those that arise in term rewriting and datatype generic programs. In particular, we present a compiler capable of compiling a wide range of generic pro- grams in a way which substantially reduces the execution overhead traditionally associated with such programs, without requiring type classes.more
Wiki Pedagogy - A Tale of Two Wikis
This paper reports on a research project investigating the deployment of two different wikis in two Masters of IT subjects.more

About this site

This site is generated with nanoc, supplemented with my own latex rendering code. The whole source of the site is available, the memoising latex generation code is at src/lib/default.rb