• 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