LOG(F): an optimal combination of logic programming, rewriting, and lazy evaluation
Expert InsightsPublished 1988
A new approach for combining logic programming, rewriting, and lazy evaluation is described. It rests upon subsuming within logic programming--rather than extending it with--rewriting, and lazy evaluation. A non-termination, non-deterministic rewrite rule system, F*, and a reduction strategy for it, select, are defined. F* is shown to be reduction-complete in that select simplifies terms whenever possible. A class of F* programs called Deterministic F* is defined and shown to satisfy confluence, directedness, and minimality. Confluence ensures that every term can be simplified in at most one way. Directedness eliminates searching in simplification of terms. Minimality ensures that select simplifies terms in a minimum number of steps. Completeness and minimality enable select to exhibit laziness. F* can be compiled in such a way that when SLD-resolution interprets these, it directly simulates the behavior of select. Thus, SLD-resolution is made to exhibit laziness. LOG(F) is defined to be a logic programming system augmented with an F* compiler.
Document Details
- Copyright: RAND Corporation
- Availability: Web Only
- Year: 1988
- Pages: 86
- Document Number: P-7437
Citation
RAND Style Manual
Chicago Manual of Style
This publication is part of the RAND paper series. The paper series was a product of RAND from 1948 to 2003 that captured speeches, memorials, and derivative research, usually prepared on authors' own time and meant to be the scholarly or scientific contribution of individual authors to their professional fields. Papers were less formal than reports and did not require rigorous peer review.
This document and trademark(s) contained herein are protected by law. This representation of RAND intellectual property is provided for noncommercial use only. Unauthorized posting of this publication online is prohibited; linking directly to this product page is encouraged. Permission is required from RAND to reproduce, or reuse in another form, any of its research documents for commercial purposes. For information on reprint and reuse permissions, please visit www.rand.org/pubs/permissions.
RAND is a nonprofit institution that helps improve policy and decisionmaking through research and analysis. RAND's publications do not necessarily reflect the opinions of its research clients and sponsors.