A Tabling Engine Designed to Support Mixed-Strategy Evaluation
Ricardo Rocha, Fernando Silva and VĂtor Santos Costa
December 2003
Abstract
Tabling is an implementation technique that improves the
declarativeness and expressiveness of Prolog by reusing answers to
subgoals. During tabled execution, there are several points where
different operations can be applied. The decision on which operation
to perform is determined by the scheduling strategy. Whereas a
strategy can achieve very good performance for certain applications,
for others it might add overheads and even lead to unacceptable
inefficiency. The ability of using multiple strategies within the same
evaluation can be a means of achieving the best possible
performance. In this work, we present how the YapTab system was
designed to support the two most successful tabling scheduling
strategies: batched and local scheduling; and how it can be easily
extended to support simultaneous mixed-strategy evaluation.
Bibtex
@InProceedings{rocha-ciclops03,
author = {R. Rocha and F. Silva and V. Santos Costa},
title = {{A Tabling Engine Designed to Support Mixed-Strategy Evaluation}},
booktitle = {Proceedings of the 3rd Colloquium on Implementation of Constraint and LOgic Programming
Systems (CICLOPS 2003)},
pages = {33--44},
editor = {R. Lopes and M. Ferreira},
month = {December},
year = {2003},
address = {Mumbai, India},
}
Download Paper
PDF file
Download Slides
PDF file