Modular logic programming
- 1 July 1994
- journal article
- Published by Association for Computing Machinery (ACM) in ACM Transactions on Programming Languages and Systems
- Vol. 16 (4) , 1361-1398
- https://doi.org/10.1145/183432.183528
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.Keywords
This publication has 10 references indexed in Scilit:
- Compositional model-theoretic semantics for logic programsNew Generation Computing, 1992
- A calculus for the construction of modular prolog programsThe Journal of Logic Programming, 1992
- Meta for modularising logic programmingPublished by Springer Nature ,1992
- Module algebraJournal of the ACM, 1990
- Composition Operators for Logic TheoriesPublished by Springer Nature ,1990
- A logical analysis of modules in logic programmingThe Journal of Logic Programming, 1989
- Enumeration operators and modular logic programmingThe Journal of Logic Programming, 1987
- Closures and fairness in the semantics of programming logicTheoretical Computer Science, 1984
- The semantics of clear, a specification languagePublished by Springer Nature ,1980
- The Semantics of Predicate Logic as a Programming LanguageJournal of the ACM, 1976