St Andrews Functional Programming Group

Who are we?

We are the functional programming group at the University of St Andrews. Functional programming involves writing programs using pure functions. Unlike conventional programming (including much object-oriented programming), side-effects are completely eradicated. This allows a very clean, very high-level, very concise programming model.

Functional programming is

Quick to write.
Easy to reason about.
Easy to modify and debug.
Easy to make parallel.

Previous work at St Andrews has focused on Parallel Implementation and Functional Persistence. Our parallel implementation work uses the Glasgow Parallel Haskell dialect of the non-strict functional language Haskell that has been developed in collaboration with researchers at Glasgow, Heriot-Watt and the Open University. Work on functional persistence has been done in collaboration with researchers from UCL and Universidade da Coruña, Spain.

See the introduction to functional programming and our publications page for more details about our work.