Composing programs in a rewriting logic for declarative programming

  • Authors:
  • J. M. Molina-Bravo;E. Pimentel

  • Affiliations:
  • 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);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)

  • Venue:
  • Theory and Practice of Logic Programming
  • Year:
  • 2003

Quantified Score

Hi-index 0.00

Visualization

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.