A photo of me

  Teaching

 
 
 
 
 
 
 
From 2008 I will be teaching a new third-year module, Functional Informatics. This will explore the paradigm of domain specific languages, in which programming is viewed as an extension of language design; starting from the primitive concepts in an application, we seek a set of combinators that allow primitives to be assembled into higher-level abstractions. Non-strict functional programming provides a particularly powerful vehicle for developing this approach, and we will be using Haskell to explore DSLs for applications that include 2D graphics, motion planning, music, and XML processing.