EPSRC GRANT GR/L54639/01

Logic Programming, Imperative Programming and Categorical Semantics


This grant had a value of £151079 and ran from 21/07/1997 to 20/07/2000.
 

Investigators:

Research Assistants:

Objectives:

To develop semantic models that account for imperative behaviour as found in logic programming and imperative programming. To apply these models to language design and program specification. To develop categorical technology as an aid in constructing and analysing models, and for showing relations to logic types and other semantic methods.

Project Abstract:

This work focuses on semantic methods for imperative behaviour as found in logic programming and other paradigms with local state. There has always been a tension between the declarative and operational views of a logic program. Semantics has tended to favour the former, but a proper understanding of control regimes and imperative features such as cut and assert is essential to understanding logic programs. In imperative programming the structuring of programs into parts with local states ­ objects ­ is difficult to account for in a traditional "global state" semantics. In both cases we plan to develop semantic models that more accurately model the computational phenomena, and to use these models to influence language design and program specification. We aim to explain logic and imperative programming within a common semantic framework. A good result would be a comparative semantics for logic and imperative programming, emphasising the role of encapsulated, or local, state in both paradigms.  Categorical methods form the basis for much of our work, and basic semantic machinery will need to be developed to cope with the additional burden we intend to place on it.

Project Bibliography:

A list of project-supported publications is available as  hypertext with links to online versions and as  citations in bibtex format.

Final Report:

The final report is available online in  pdf  and  ps  formats.