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.
|Autori:||BROGI A; MANCARELLA P; PEDRESCHI D; TURINI F|
|Titolo:||MODULAR LOGIC PROGRAMMING|
|Anno del prodotto:||1994|
|Digital Object Identifier (DOI):||10.1145/183432.183528|
|Appare nelle tipologie:||1.1 Articolo in rivista|