scispace - formally typeset
Search or ask a question

Showing papers by "Antonio Brogi published in 1994"


Journal ArticleDOI
TL;DR: 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.
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.

94 citations


Book ChapterDOI
14 Sep 1994
TL;DR: This paper presents and compares three implementations of metaprogramming, program transformations, and extensions to the WAM, respectively, and shows how the third approach reduces the drawbacks of the other two approaches, while retaining their advantages.
Abstract: This paper reports on a number of implementations for a suite of composition operations of logic programs. We present and compare three implementations, which rely on different techniques: metaprogramming, program transformations, and extensions to the WAM, respectively. In particular, we show how the third approach reduces the drawbacks of the other two approaches, while retaining their advantages.

10 citations


Book ChapterDOI
20 Jun 1994
TL;DR: This work investigates the possibility of employing Godel as a meta-language for re-using and composing existing definite programs, and two alternative implementations of a set of meta-level operations for composing definite programs are presented.
Abstract: Increasing attention is being paid to Godel, a new declarative programming language aimed at diminishing the gap between theory and practice of programming with logic. An intriguing question is whether or not existing logic programs can be suitably re-used in Godel. We investigate the possibility of employing Godel as a meta-language for re-using and composing existing definite programs. Two alternative implementations of a set of meta-level operations for composing definite programs are presented. The first implementation consists of an extended vanilla meta-interpreter using the non-ground representation of object level programs. The second implementation exploits the meta-programming facilities offered by Godel, which support the construction of meta-interpreters using the ground representation of object level programs.

4 citations


01 Jan 1994
TL;DR: Both the operational and xpoint semantics of the language are given along with its meta-level deenition.
Abstract: Logic programming is extended with expressions of the form A in Pexp both in top-level goals and in clause bodies. A in Pexp is a meta-level feature that denotes the truth of a formula A with respect to a \virtual" set of clauses denoted by the program expression Pexp. Pexp involves named collections of clauses and composition operations over them. Both the operational and xpoint semantics of the language are given along with its meta-level deenition. A set of examples provides evidence of expressiveness of the language.

4 citations