Lecture Notes in Computer Science, 2008, Volume 5366/2008, 795-800, DOI: 10.1007/978-3-540-89982-2_79

A Sketch of a Complete Scheme for Tabled Execution Based on Program Transformation

Pablo Chico de Guzmán, Manuel Carro and Manuel V. Hermenegildo

View Related Documents

Abstract

Tabled evaluation has proved to be an effective method to improve several aspects of goal-oriented query evaluation, including termination and complexity. “Native” implementations of tabled evaluation offer good performance, but also require significant implementation effort, affecting compiler and abstract machine. Alternatively, program transformation-based implementations, such as the original continuation call (CCall) technique, offer lower implementation burden at some efficiency cost. A limitation of the original CCall proposal is that it limits the interleaving of tabled and non-tabled predicates and thus cannot be used for arbitrary programs. In this work we present an extension of the CCall technique that allows the execution of arbitrary tabled programs, as well as some performance results. Our approach offers a useful tradeoff that can be competitive with state-of-the-art implementations, while keeping implementation effort relatively low.

Keywords  Tabled logic programming - Continuation-call tabling - Implementation - Performance - Program transformation

Fulltext Preview

Image of the first page of the fulltext document