M.C. Escher - Metamorphosis II

Dr. Tristan Allwood

Teaching Fellow in the Department of Computing, Imperial College, London

My PhD was supervised by Prof. Susan Eisenbach. Prof. Sophia Drossopoulou also provided secondary supervision.

Email me: tora@doc.ic.ac.uk

Research Interests

My research interests have gravitated around Haskell programming, with a theme of Random Test Generation.

My publications are available online, and from the ACM.

I am part of the SLURP research group. The calendar for our meetings is available online.

Irulan: Random Black Box Testing for Haskell

Automatic Crash finder / black box testing for Haskell using the GHC API. Lecturer Cristian Cadar also mentored me on this project.

Finding the Needle: Stack Traces for GHC

I undertook a 3 month internship at Microsoft Research, Cambridge, under Simon Peyton Jones. During this time I developed a prototype stack-trace facility for GHC.

CLASE: Cursor Library for a Structured Editor

I started trying to make a structured editor for an extended lambda calculus. As part of that project, I developed a practically useful zipper-like library/tooling that used interesting GHC features (Type Families, GADTs).

Tickling Java With a Feather

I Used FeatherWeight Java to define a space of programs and act as a type checking oracle. I then generated FJ programs and using them to check a Java compiler agrees with the FJ type checker.

This work was then built upon by a Prize winning student group project.

Haskell 'Games'

At the start of my PhD, myself and Matthew Sackman looked at, and prototyped some OpenGL games/hacks using Haskell.

Teaching

Advanced Haskell

Optional autumn term programming lectures for 1st years during the first term. Topics over the last couple of years have included:

Advanced Kenya Lectures

Optional Autumn term 2006/2007 lectures for first year students.

Advanced Java Lectures

I have previously taught and assisted teaching these optional Spring term lectures for first years. Topics included:

Programming Tools Lectures

"Pest Control" slides (linux command line tools) available here.

Undergraduate Projects

Fleece

4th Year MEng Project Report. About pluggable, iterative type checking for dynamic programming languages.

Kevlar

3rd Year MEng Group Project Report. Prize-winning project about a user friendly graphical system shell written in Java.

Miscellaneous

I am the maintainer and co-developer of the current version of the programming language Kenya.

I was awarded the Computing Departmental Graduate Teaching Assistant award in 2010 for the advanced Haskell and Java courses I helped organise. The citation.

Previous website (with various Java applets on it)

M.C. Escher - Metamorphose