My work and research interests lie in two main areas, (i) parallel programming and language technologies, and (ii) graphics and visualization. An important theme is performance - better technologies for exploiting parallelism, better tools for building graphics applications, and better abstractions for working with massive/complex datasets. Work within my team currently builds on the following technologies:
and I am particularly interested in emerging graphics technologies such as Vulkan.
Work in graphics and visualization is currently focussed on tools for geometric and topological analysis, including the "Joint Contour Net", a recent approach to the analysis of multifield data. My interests in functional programming include Haskell as a platform for high-performance graphics and visualization. A novel twist is using visualization to understand the performance of parallel Haskell programs. These interests necessarily extend to work with the GHC compiler and runtime system.
In the past I have worked in formal methods, multimedia systems, graphics standards, HCI, and reasoning about cognitive systems.
Professionally, I am a member of the ACM, the IEEE and IEEE Computer Society, and am a Fellow of the Eurographics Association.