The University of Sussex

Types, modularisation and abstraction in logic programming

George Dayantis

Although the concepts of typing, modularisation and data abstraction have already proved their usefulness in modern programming languages, logic programming does not seem to have paid enough attention to them. A simple and efficient way that these ideas can be realised in a logic programming framework, which also remains within the spirit of logic programming, is proposed here. A polymorphic type system with subtypes forms the basis for modular structure, which also supports object-oriented programming. The ideas are presented as an extension to Prolog, which is taken as a practical representative of logic programming. Additionally, they have been implemented in a skeleton language on top of standard Prolog.

This paper is not available online