Download:
|
by Bharat Jayaraman, Kyonghee Moon
ftp://ftp.cs.buffalo.edu/pub/tech-reports/./95-14.ps.Z
Add To MetaCart
Abstract:
Subset-logic programs are built up of three kinds of program clauses: subset, equational, and relational clauses. Using these clauses, we can program solutions to a broad range of problems of interest in logic programming and deductive databases. In an earlier paper [Jay92], we discussed the implementation of subset and equational program clauses. This paper substantially extends that work, and focuses on the more expressive paradigm of subset and relational clauses. This paradigm supports setof operations, transitive closures, monotonic aggregation as well as incremental and lazy eager enumeration of sets. Although the subset-logic paradigm differs substantially from that of Prolog, we show that few additional changes are needed to the WAM [War83] to implement the paradigm and that these changes blend well with the overall machinery of the WAM. A central feature in the implementation of subset-logic programs is that of a "monotonic memo-table, " i.e., a memo-table who entries can monotonically grow or shrink in an appropriate partial order. We present in stages the paradigm of subset-logic progams, showing the effect of each feature on the implementation. The implementation was completed in 1994, and we present performance figures to show the efficiency and costs of memoization. Our conclusion is that the monotonic memo-tables are a practical tool for implementing a set-oriented logic programming language.
Citations
|
1654
|
Foundations of Logic Programming
– Lloyd
- 1984
|
|
192
|
Warren’s Abstract Machine: A Tutorial Reconstruction
– Ait-Kaci
- 1991
|
|
60
|
On the declarative semantics of stratified deductive databases and logic programs
– Przymusinski
- 1988
|
|
42
|
The Well-Founded Semantics of Aggregation
– Gelder
- 1992
|
|
41
|
A rule-based language with functions and sets
– Abiteboul, Grumbach
- 1991
|
|
28
|
Log: a logic programming language with finite sets
– Dovier, Omodeo, et al.
- 1991
|
|
19
|
Extending the Well-Founded and Valid Semantics for Aggregation
– Sudarshan, Srivastava, et al.
- 1993
|
|
16
|
Partial order programming (revisited
– Jayaraman, Osorio, et al.
- 1995
|
|
12
|
Recursive programming through table look-up
– Friedman, Wise, et al.
- 1976
|
|
10
|
Functional programming with sets
– Jayaraman, Plaisted
- 1987
|
|
8
|
The SURE programming framework
– Jayaraman
- 1991
|
|
7
|
Dynamic Programming Optimization for Logic Queries with Aggregates
– Greco, Sacca, et al.
- 1993
|
|
6
|
A WAM-based implementation of a logic language with sets
– Dovier, Pontelli
- 1993
|
|
5
|
Programming with Equations
– Jayaraman, Plaisted
- 1989
|
|
5
|
Set Constructors, Finite Sets, and Logical Semantics
– Jana, Jayaraman
- 1994
|
|
4
|
Memoing for Logic Progams
– Warren
- 1992
|
|
3
|
Semantics of Subset-Logic Languages
– Jana
- 1994
|
|
3
|
An Abstract Instruction Set for
– Warren
- 1983
|
|
2
|
Analysis of SLG-WAM Evaluation of Definite Clause Programs
– Swift, Warren
- 1994
|
|
1
|
Subset Assertions and Negation-as-Failure, Proc. ILPS 93, poster paper
– Osorio, Jayaraman
- 1993
|