This page includes the final version of my PhD thesis, which can be downloaded here. Also included on this page are some of the documents from earlier stages of my PhD. The thesis comprises of 4 main content chapters, based on the following pieces of work:
- Uniplate - generic programming.
- Supero - supercompilation and program optimisation.
- Firstify - defunctionalisation.
- Catch - static safety of pattern-matching.
- darcs get --lazy http://community.haskell.org/~ndm/darcs/thesis
- Transformation and Analysis of Functional Programs (abstract) (bibtex)
- Transformation and Analysis of Functional Programs - from my viva presentation
- Transformation and Analysis of Haskell Source Code - from my thesis seminar (bibtex)
- Catch, Lazy Termination - from PLASMA (bibtex)
- Qualifying Dissertation: Unfailing Haskell (abstract) (bibtex)
- Termination checking for a lazy functional language - from my first year literature review seminar (bibtex)