Overview
The aim of the Functional Programming Lab is to develop simple but powerful techniques for writing and reasoning about programs, by recognising and exploiting their underlying mathematical structure. Most of our work takes place within the context of functional languages such as Haskell and Agda, which are at the forefront of programming language research, and provide ideal vehicles for research of this nature.
Our research spans a range of topics in the area of functional programming, including category theory, corecursive structures, compiler correctness, declarative debugging, hybrid modelling, reactive programming, mathematical logic, program optimisation, program transformation, proof assistants, quantum computing, and type theory.