Welcome to FP@CS.NottPart of the Foundations of Programming Group
Within the Foundations of Programming group at the University of Nottingham are a number of people working on Functional Programming projects, mainly using Haskell. These projects involve reasoning about functional programs, new functional languages or features, the implementation of new systems using functional languages, and even the implementation of new functional languages. Members of the group are also involved in teaching Haskell, and computer aided formal reasoning using the Epigram (interactive dependently typed) language, to undergraduates. Specific research interests of the members include the following:
- Reasoning about synchronous and asynchronous exceptions in a simple language. This work was inspired by, and aims to reason about asynchronous exception combinators in, GHC. Some proofs using the Epigram system.
- Reasoning about the time requirements of functional programs, by counting evaluation steps that represent transitions in an underlying abstract machine. Work is also being carried out to extend this to measure space usage.
- Functional Reactive Programming in the Yampa system.
- Datatype Generic Programming.
- The interactive dependently typed programming language,
- A functional quantum programming language, QML, with a compiler and simulator implemented in Haskell.
Graham Hutton, a co-organiser, has also recently written a book aimed at teaching Haskell to students studying computing science at university level, but is also appropriate for a broader spectrum of readers who would like to learn about functional programming using Haskell.