(see also my papers and publications).
For project suggestions, see here.
Most of my current research is in the area of Semantics for Network Programming. This work divides into two areas: network semantics and programming language design.
This work is in conjunction with the Theory and Semantics and Opera groups of the University of Cambridge Computer Laboratory, and began while I was a Research Associate on the EPSRC research grant Wide-area programming: Language, Semantics and Infrastructure Design.
I am also participating in the EU/IST/FET project PEPITO: Peer-to-Peer Implementation and Theory (main page), part of the FET Global Computing proactive initiative. Our network semantics is informing the design of peer-to-peer middleware systems, and the requirements of such systems partially guide the design of Acute.
In 2002 I completed my PhD thesis on usage types for lazy functional languages, under the co-supervision of Simon Peyton Jones at Microsoft Research Cambridge and Andy Pitts at the Computer Laboratory. I have investigated the notion of usage types, extending the Once Upon A Type type-based usage analysis of David N. Turner, Christian Mossin, and Phil Wadler (FPCA'95) to cope with subsumption, type polymorphism, algebraic data types, and all the constructs of a real typed intermediate language. I have applied the analysis to the Glasgow Haskell Compiler and measured the results. In the process I discovered deficiencies in the analysis, and in attempting to rectify them I invented simple polymorphism, a practical approximation to constrained polymorphism.
Simple polymorphism is described in
Simple Usage Polymorphism
(TIC2000). The UsageSP system, incorporating subsumption,
type polymorphism, and algebraic data types but
I spent 1996 writing a Masters thesis, A Modular Monadic Action Semantics, under John Hamer. The thesis combines two notations for formal semantic specification of programming languages, namely action semantics and modular monadic semantics. Action semantics was developed by Peter D. Mosses at Aarhus University, Denmark. There is an Action Semantics home page there with lots of information and links. A useful resource for modular monadic semantics (developed by Espinosa and Liang, Hudak and Jones) is David Espinosa's home page.
I published a paper on this work at the Usenix Conference on Domain-Specific Languages, October 1997. I submitted my Masters thesis on February 28, 1997. You may access all or part of my thesis in various formats. My original (June 1996) draft thesis proposal (HTML) (DVI) is also available (although a little out of date).
In 1995 I did a project (credited towards my BSc(Hons)(CompSc) degree) under Jeremy Gibbons on "Tracing Lazy Functional Languages". I completed the project with this report; the results were also published at CATS'96.
--KW 8-)