My primary research interest is in the design, implementation and
evaluation of high level parallel and distributed functional
languages. I supervise
a team of
researchers in the area as part of
Embedded, Networked and Distributed Systems Research Group.
Long Term Research Activities
Some longer term
research activities, and collaborations are as follows.
I helped design and
build Glasgow Parallel
Haskell (GpH). It's one of the early robust parallel functional
languages, and remains one of the most widely used parallel Haskell
models, e.g. the most popular Haskell
compiler, GHC supports it on
multicores. The sophisticated GUM runtime system supports GpH on
distributed-memory machines like clusters.
I helped design and
build Haskell distributed parallel
Haskell (HdpH). It's a parallel Haskell for large scale distributed-memory machines like
clusters or HPC platforms. Crucially, HdpH is implemented in vanilla (GHC) Haskell.
I'm a member of national and
international networks of excellence. For example the
UK Memory Management Network, and the
European High Performance and Embedded Architecture and Compilation (HiPEAC).
Programme Committees and Journals
I serve on programme committees, including
I occasionally guest edit Journal issues, e.g.
Special Issue on Functional High-Performance Parallel
Programming. Journal of Functional Programming 15(3).
- Trends in Functional
Programming Workshops: 2000, 2002, 2004, 2005, 2006, 2007, 2008, 2009 Co-Chair 1999 and 2001.
- ACM SIGPLAN Erlang Workshop: 2005, 2009, Programme Chair 2006.
- ACM SIGPLAN DAMP: Declarative Aspects of Multicore Programming: 2009, 2010
- The International
Workshop on Implementing Functional Languages: 2000, 2001, 2002, 2005, 2010 Co-Editor 2003 and 2004
- Int. Workshop on Foundational and Practical Aspects of Resource Analysis (FOPARA): 2009
- ACM SIGPLAN Workshop on Functional High Performance Computing: 2012
- Brazilian Symposium on Programming Languages: Co-Chair 2013
I also help organise various conferences and meetings including