Formal reasoning about functional programs, including program specification, derivation and transformation.
Data parallel algorithms and architectures.
Functional hardware description languages. Our parallel Haskell system, GUM, is now on alpha-release, but there's a crying need to measure what happens, learn, tune and improve. Using functional languages for hardware description. Applying functional language compiler technology to hardware description languages e.g. partial evaluation and semantic-based program transformation. All this work revolves around the Glasgow Ruby compiler, which is being developed in Haskell.