Modular logic programming
Citations Over TimeTop 10% of 1994 papers
Abstract
Modularity is a key issue in the design of modern programming languages. When designing modular features for declarative languages in general, and for logic programming languages in particular, the challenge lies in avoiding the superimposition of a complex syntactic and semantic structure over the simple structure of the basic language. The modular framework defined here for logic programming consists of a small number of operations over modules which are (meta-) logically defined and semantically justified in terms of the basic logic programming semantics. The operations enjoy a number of algebraic properties, thus yielding an algebra of modules. Despite its simplicity, the suite of operations is shown capable of capturing the core features of modularization: information hiding, import/export relationships, and construction of module hierarchies. A metalevel implementation and a compilation-oriented implementation of the operations are provided and proved sound with respect to the semantics. The compilation-oriented implementation is based on manipulation of name spaces and provides the basis for an efficient implementation.
Related Papers
- → Spider vs. Prolog(2009)3 cited
- → Object-oriented programming as the end of history in programming languages(2002)2 cited
- → An experience with a Prolog-based object-oriented language(1986)21 cited
- → Pluto: an object-oriented logic programming language(2002)1 cited
- RESEARCH ON THE COMPARISON OF META-PROGRAMMING BETWEEN LOGIC PROGRAMMING LANGUAGE GDEL AND PROLOG(2008)