Programming Languages

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. 

Theme Lead: Dr Ornela Dardha


Academic staff

Research staff

Research students


AppControl: Enforcing Application Behaviour through Type-Based Constraints (EPSRC, 2020-2024) - Professor Wim Vanderbauwhede

CapableVMs (EPSRC, 2020-2024) - Dr Jeremy Singer

Session Types for Reliable Distributed Systems (Stardust) (EPSRC, 2020-2024) - Professor Simon Gay (PI) and Professor Phil Trinder (CoI)

Behavioural Application Program Interfaces (2018-2022) – Dr Ornela Dardha (UoG Site Leader), Professor Simon Gay

Border Patrol - Dr Wim Vanderbauwhede (EPSRC, 2017-2022)

From Data Types to Session Types: A Basis for Concurrency and Distribution (ABCD) - Professor Simon Gay (PI) and Dr Ornela Dardha (Co-I) (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)


Programming Languages - University of Glasgow Seminars

PLUG seminars are normally scheduled fortnightly during most of the academic year. Speakers come from inside and outside the School of Computing Science, and visitors are welcome. More information can be found on the PLUG website, including details of how to join the email list.

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, the University of Glasgow 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.