Logo[ Bristol CS | Index | Research ]

Declarative Languages

A declarative language is a higher level one where you specify what you want, not how to get it. Such languages are particularly useful to provide higher level interfaces to underlying complex systems. A simple example is HTML where, for example, you specify what is to appear on a page, but not how it is to be laid out. Another example is SQL where you specify what you want out of a database query, but do not give code for the looping and testing needed to produce it (see the Databases unit). There are modelling languages such as CCS (see the Concurrency unit), or UML (see the Design Methodology unit) and formal specification or proof languages.

These are special purpose languages, but there are also general purpose declarative languages, in which any program can be written in a declarative style. These particularly include the functional language Haskell (see the Intro Software Engineering unit), and the logic programming language Prolog and its derivatives (see the Artificial Intelligence unit).

This subject overlaps with the interests of other research groups, e.g. formal methods, so people such as Kerstin Eder may also be possible supervisors.


Ian Holyer, Ian.Holyer@bristol.ac.uk Last modified on Friday 2 February 2001. © 2000 University of Bristol