Title of article :
Theory of partial-order programming
Author/Authors :
Mauricio Osorio، نويسنده , , Bharat Jayaraman، نويسنده , , David A. Plaisted، نويسنده ,
Issue Information :
ماهنامه با شماره پیاپی سال 1999
Pages :
32
From page :
207
To page :
238
Abstract :
This paper shows the use of partial-order program clauses and lattice domains for declarative programming. This paradigm is particularly useful for expressing concise solutions to problems from graph theory, program analysis, and database querying. These applications are characterized by a need to solve circular constraints and perform aggregate operations, a capability that is very clearly and efficiently provided by partial-order clauses. We present a novel approach to their declarative and operational semantics, as well as the correctness of the operational semantics. The declarative semantics is model-theoretic in nature, but the least model for any function is not the classical intersection of all models, but the greatest lower bound/least upper bound of the respective terms defined for this function in the different models. The operational semantics combines top-down goal reduction with memo-tables. In the partial-order programming framework, however, memoization is primarily needed in order to detect circular circular function calls. In general we need more than simple memoization when functions are defined circularly in terms of one another through monotonic functions. In such cases, we accumulate a set of functional-constraints and solve them by general fixed-point-finding procedure. In order to prove the correctness of memoization, a straightforward induction on the length of the derivation will not suffice because of the presence of the memo-table. However, since the entries in the table grow monotonically, we identify a suitable table invariant that captures the correctness of the derivation. The partial-order programming paradigm has been implemented and all examples shown in this paper have been tested using this implementation.
Keywords :
Functional programming , Model-theoretic semantics , Reduction semantics , Stratification , Functional query language , Memo table , Monotonicity
Journal title :
Science of Computer Programming
Serial Year :
1999
Journal title :
Science of Computer Programming
Record number :
1079547
Link To Document :
بازگشت