Hostname: page-component-cd9895bd7-gbm5v Total loading time: 0 Render date: 2024-12-27T12:57:40.954Z Has data issue: false hasContentIssue false

Composing programs in a rewriting logic for declarative programming

Published online by Cambridge University Press:  10 March 2003

J. M. MOLINA-BRAVO
Affiliation:
Dpto. Lenguajes y Ciencias de la Computación, University of Málaga, Campus de Teatinos, 29071 Málaga, Spain (e-mail: jmmb@lcc.uma.es, ernesto@lcc.uma.es)
E. PIMENTEL
Affiliation:
Dpto. Lenguajes y Ciencias de la Computación, University of Málaga, Campus de Teatinos, 29071 Málaga, Spain (e-mail: jmmb@lcc.uma.es, ernesto@lcc.uma.es)

Abstract

Constructor-Based Conditional Rewriting Logic is a general framework for integrating first-order functional and logic programming which gives an algebraic semantics for nondeterministic functional-logic programs. In the context of this formalism, we introduce a simple notion of program module as an open program which can be extended together with several mechanisms to combine them. These mechanisms are based on a reduced set of operations. However, the high expressiveness of these operations enable us to model typical constructs for program modularization like hiding, export/import, genericity/instantiation, and inheritance in a simple way. We also deal with the semantic aspects of the proposal by introducing an immediate consequence operator, and studying several alternative semantics for a program module, based on this operator, in the line of logic programming: the operator itself, its least fixpoint (the least model of the module), the set of its pre-fixpoints (term models of the module), and some other variations in order to find a compositional and fully abstract semantics w.r.t. the set of operations and a natural notion of observability.

Type
Research Article
Copyright
© 2003 Cambridge University Press

Access options

Get access to the full version of this content by using one of the access options below. (Log in options will check for institutional or personal access. Content may require purchase if you do not have access.)