Acknowledgements


I would like to thank my supervisor Susan Eisenbach for her continued guidance throughout this project.

I would like to thank Christopher Anderson for his advice on constructing grammars, compilers and type checkers.

I would like to thank Ashok Argent-Katwala and Geoffrey Howie for the pertinent (and some not so pertinent) discussions that we have had over the course of this project.