Department of Computing |
Research
Report 1999
|
|
|
Programming
Language Theory Group
|
Group leader: Chris Hankin Other academic members: Iain Phillips Mike Smyth Steffen van Bakel Susan Eisenbach Sophia Drossopoulou The theory of programming languages covers three broad areas: syntax, semantics and pragmatics. Syntax concerns the grammatical structure of languages and pragmatics is to do with the use of languages. Semantics concerns meaning, i.e. the exact and formal description of the behavior of programs written in a programming language, the properties of these programs, and ways to reason about their properties. Semantics is also concerned with the development of the mathematical tools with which such descriptions can be conveniently developed.
The work of our group falls predominantly under the semantics heading. We have a strong tradition of work on domain theory and the semantics of concurrent programming languages. Our work covers a fairly broad spectrum from pure theory through to practical applications. Examples of activities towards the theory end of the spectrum include Digital Topology (M. B. Smyth), Intersection Types and Term Rewriting (S. van Bakel) and Concurrency Theory (I. C. C. Phillips). Practical applications include the design of object-oriented language features and the semantics of Java (S. Drossopoulou and S. Eisenbach) and Program Analysis (C. Hankin).
The group consists of six full-time academics, six postdoctoral research associates and nine PhD students.