Fundamentals of algebraic specification 2: module specifications and constraints
Fundamentals of algebraic specification 2: module specifications and constraints
Journal of the ACM (JACM)
Handbook of theoretical computer science (vol. B)
Conditional rewriting logic as a unified model of concurrency
Selected papers of the Second Workshop on Concurrency and compositionality
Institutions: abstract model theory for specification and programming
Journal of the ACM (JACM)
Nondeterminism in algebraic specifications and algebraic programs
Nondeterminism in algebraic specifications and algebraic programs
A model-theoretic reconstruction of the operational semantics of logic programs
Information and Computation
ACM Transactions on Programming Languages and Systems (TOPLAS)
Handbook of logic in computer science (vol. 3)
Fully abstract compositional semantics for an algebra of logic programs
Theoretical Computer Science
From logic programming to Prolog
From logic programming to Prolog
Institutions for logic programming
Theoretical Computer Science - Special issue: algebraic development techniques
A modular semantics for higher-order declarative programming with constraints
Proceedings of the 13th international ACM SIGPLAN symposium on Principles and practices of declarative programming
An adequate, denotational, functional-style semantics for typed FlatCurry
WFLP'10 Proceedings of the 19th international conference on Functional and constraint logic programming
Hi-index | 0.00 |
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.