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

  • Authors:
  • Pablo Chico Guzmán;Manuel Carro;Manuel V. Hermenegildo

  • Affiliations:
  • School of Computer Science, Univ. Politécnica de Madrid, Spain;School of Computer Science, Univ. Politécnica de Madrid, Spain;School of Computer Science, Univ. Politécnica de Madrid, Spain and IMDEA Software, Spain

  • Venue:
  • ICLP '08 Proceedings of the 24th International Conference on Logic Programming
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

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.