Composing Programs in a Rewriting Logic for Declarative Programming
Juan M. Molina, Ernesto Pimentel

TL;DR
This paper introduces a modular framework for declarative programming based on rewriting logic, enabling flexible composition and semantic analysis of program modules with various semantics.
Contribution
It proposes a simple, expressive set of operations for program modularization within rewriting logic and studies their semantic properties for compositionality and abstraction.
Findings
Defines a notion of open program modules and composition mechanisms.
Introduces an immediate consequence operator for semantic analysis.
Explores multiple semantics for modules ensuring compositionality.
Abstract
Constructor-Based Conditional Rewriting Logic is a general framework for integrating first-order functional and logic programming which gives an algebraic semantics for non-deterministic 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,…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsLogic, programming, and type systems · Formal Methods in Verification · Logic, Reasoning, and Knowledge
