Abstract
This paper shows the use of partial-order program clauses and lattice domains for functional and logic programming. We illustrate the paradigm using a variety of examples: graph problems, 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 model-theoretic and operational semantics. The least Herbrand model for any function is not the intersection of all models, but the glb/lub of the respective terms defined for this function in the different models. The operational semantics combines top-down goal reduction with monotonic memo-tables. In general, when functions are defined circularly in terms of one another through monotonic functions,a memoized entry may have to monotonically updated until the least (or greatest) fixed-point is reached. This partial-order programming paradigm has been implemented and all examples shown in this paper have been tested using this implementation.
This research was supported by grants from the National Science Foundation and Xerox Foundation.
Preview
Unable to display preview. Download preview PDF.
References
A. Aho and J.D. Ullman, “Symp. on Principles of Compiler Design,” Addison-Wesley, 1977.
V. Breazu-Tannen, P. Buneman, and S. Naqvi, “Structural Recursion as a Query Language,” Proc. 3rd Intl. Workshop on Database Programming Languages, 1991.
A. Dovier and G. Rossi, “Embedding Extensional Finite Sets in CLP,” Proc. Intl. Symp. on Logic Programming, pp. 540–556, MIT Press, 1993.
M. Hanus, “The Integration of Functions into Logic Programming: From Theory to Practice,” J. of Logic Programming, (19/20):583–628, 1994.
B. Jayaraman, “Implementation of Subset-Equational Programs,” J. of Logic Programming, 12(4):299–324, 1992.
B. Jayaraman and K. Moon, “Implementation of Subset-Logic Programs,” Submitted for publication.
Jayaraman, B. and D. A. Plaisted, “Functional Programming with Sets,” Proc. Third Intl. Conf. on Functional Programming and Computer Architecture, pp. 194–210, Springer-Verlag, 1987.
Jayaraman, B. and D. A. Plaisted, “Programming with Equations, Subsets, and Relations,” Proc. N. American Conf. on Logic Programming, pp. 1051–1068, MIT Press, 1989.
D.B. Kemp and P.J. Stuckey, “Semantics of Logic Programs with Aggregates,” Proc. Intl. Symp. on Logic Programming, pp. 387–401, MIT Press, 1991.
J.W. Lloyd, “Foundations of Logic Programming,” (2 ed.) Springer-Verlag, 1987.
B. Jayaraman, M. Osorio and K. Moon, “Partial Order Logic Programming,” Technical Report 93-040, Department of Computer Science, SUNY-Buffalo, November 1993.
T. Przymusinski, “On the Declarative Semantics of Stratified Deductive Databases and Logic Programs,” Proc. Foundations of Deductive Databases and Logic Programming, J. Minker (ed.), pp. 193–216, Morgan-Kaufmann, 1988.
S. Parker, “Partial Order Programming,” Proc. 16th Symp. on Principles of Programming Languages, pp. 260–266, ACM Press, 1989.
K.A. Ross and Y. Sagiv, “Monotonic Aggregation in Deductive Databases,” Proc. 11th Symp. on Principles of Database Systems, pp. 114–126, ACM Press, 1992.
S. Sudarshan, D. Srivastava, R. Ramakrishnan, and C. Beeri, “Extending the Well-Founded and Valid Semantics for Aggregation,” Proc. Intl. Symp. on Logic Programming, pp. 590–608, MIT Press, 1993.
A. Van Gelder, “The Well-Founded Semantics of Aggregation,” Proc. 11th Symp. on Principles of Database Systems, pp. 127–138, ACM Press, 1992.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1995 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Jayaraman, B., Osorio, M., Moon, K. (1995). Partial order programming (Revisited). In: Alagar, V.S., Nivat, M. (eds) Algebraic Methodology and Software Technology. AMAST 1995. Lecture Notes in Computer Science, vol 936. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-60043-4_78
Download citation
DOI: https://doi.org/10.1007/3-540-60043-4_78
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-60043-5
Online ISBN: 978-3-540-49410-2
eBook Packages: Springer Book Archive