The School of Computing Science has a long history and tradition of excellent programming language research. Across its research sections the School hosts a unique combination of leading researchers in programming language theory and practice, with a particular focus on distributed and parallel systems. Programming language research in Glasgow involves members of the FATA and GLASS sections, working on the foundations, design, implementation and practice of programming languages.
FATA hosts world class researchers in the foundations of programming languages, with a particular focus on session types for concurrent and distributed systems. GLASS has world renowned experts in compilation, parallel and distributed computing. Researchers in other sections of the School either have benefited in the past or could benefit in the future from collaboration with programming language researchers. The programming language theme aims to enhance the mutual understanding of the various research interests in programming languages across the School, and to promote collaboration opportunities.
- Dr Ornela Dardha
Programming language foundations, session types for concurrent/distributed system
- Professor Simon Gay
Verification techniques based on session types for concurrent/distributed systems
- Dr John O'Donnell
Functional programming, parallel programming and computer architecture
- Dr Jeremy Singer
Compilers, cloud, managed run-times, parallelism, resource management
- Dr Michel Steuwer
Parallelism, compilation, heterogeneous & GPU computing, performance portability
- Professor Phil Trinder
Programming languages, functional programming, parallel/distributed systems
- Dr Wim Vanderbauwhede
Programming languages, compilation, heterogeneous & FPGA computing
Border Patrol - Dr Wim Vanderbauwhede (EPSRC, 2017-2022)
From Data Types to Session Types: A Basis for Concurrency and Distribution (ABCD) - Professor Simon Gay (EPSRC, 2013-2020)
Manycore Research Innovation and Opportunities Network (MaRIONet) - Dr Jeremy Singer and Professor Phil Trinder (EPSRC, 2016-2019)
Exploiting Parallelism through Type Transformations for Hybrid Manycore Systems - Dr Wim Vanderbauwhede and Professor Simon Gay (EPSRC, 2013-2018)
AnyScale Applications - Dr Jeremy Singer (EPSRC, 2013-2018)
Scottish Programming Languages Seminar
The Scottish Programming Languages Seminar (SPLS) meets three times per year for an afternoon of research talks on all aspects of programming language theory, design and implementation. Members of the School of Computing Science are regular participants, and take our turn to host and organise SPLS. The SPLS website gives information about forthcoming seminars, and archives information about past seminars. To join the SPLS email list, follow the link from the website.
Glasgow, Haskell and the History of Functional Programming
Functional programming is a style of programming in which programs can be regarded as mathematical functions, with properties that make it easy to reason about programs' behaviour and correctness. Functional programming languages are characterized by elegant high-level constructs and clean theoretical foundations.
Beginning in 1987, the international research community in functional programming defined Haskell, a standardized functional programming language for research and teaching. Members of the Functional Programming Group in the Department of Computing Science played a leading role in the language design process. Development of the Glasgow Haskell Compiler began in 1990; it is still the leading implementation of the language, has tens of thousands of users, and hosts dozens of experimental language extensions. It is still under active development as an open source project.
The Journal of Functional Programming was launched in 1991, and continues to be the main journal in the area. John Hughes and Philip Wadler were among the founding editors; Simon Peyton Jones became an editor later; John Launchbury and John O'Donnell were members of the editorial board. During this period, Glasgow University was an internationally leading centre of functional programming research.
As a research topic, functional programming has been highly influential in the broader area of programming language theory, and Haskell in particular has been a hugely successful vehicle for the exploration of novel programming constructs, techniques and concepts. The involvement of the Glasgow group from 1987 to 1998 was a significant factor in this success.