Skip to main section
My publications are available from the Computer Science department publications repository.
I belong to the following research groups:
While I no longer work here, I'm still losely associated with the Lab, mostly due to our refactoring project. This frontpage has gathered some weeds over time - unless you have a specific URL into my webspace, you are probably looking either for my publications or for some of my Haskell-related software.
Please check my haskell.org pages first, and let me know if you need any of the content here that is not available there (those pages are Haskell-specific).
My research interests evolve around declarative languages, programming and tools (design and implementation), where I see (programming) languages as the interfaces to computer systems (see slides from an old talk). For specific design problems, I use functional languages as a starting point, but I have mainly been occupied with extending functional languages to provide better support for areas such as interactive, modular and logic programming, and more recently for making program source more fluid (lessening the negative impact of rigid program representations also eases some of the demands on language design). Currently, my main interests lie in improving the support for concurrent and visual programming in functional languages, with secondary interests in program visualisation.
What interests me in functional languages is not so much the restriction to functions as program building blocks, but their semantic simplicity, their excellent support for abstraction and their general conformance to language design principles. In extending these languages to provide better support for other application domains, I would like to preserve these characteristics. Having worked on a variety of specific language design issues, I have also become more interested in language design per se, its principles and foundations. Here, I am mostly interested in the interaction between analytic and constructive language design and in the program calculi that mediate between the two.
More generally, I am interested in turning computers into the useful tools I thought they were when I started studying computer science. My approach is to look at the interface between humans and computers, from a language design perspective. In other words, I would like to start from the concepts users (like myself) want to talk/think about and work with, and weave them into integrated language designs. Once we have the user-, domain- or application-specific languages users want to be talking/thinking and working with, we can then think about implementing these languages in computer systems. The languages become the interfaces between humans and computers, and computer systems make notations come alive.
Summary: functional languages give me nice tools to work with and a good starting point for more complete language designs; language design research gives me better foundations for designing problem-specific languages; all of that together helps me to improve the usefulness of computer systems while simplifying the interfaces we use to work with them.
Full list of publications, many not in the local database.
Talks -- titles, abstracts, and slides of talks, including:
Skip to top of this page