The advantages of tabled evaluation regarding program termination and reduction of complexity are well known -as are the significant implementation, portability, and maintenance efforts that some proposals (especially those based on suspension) require. This implementation effort is reduced by program transformation-based continuation call techniques, at some efficiency cost. However, the traditional formulation of this proposal [1] limits the interleaving of tabled and non-tabled predicates and thus cannot be used as-is for arbitrary programs. In this paper we present a complete translation for the continuation call technique which, while requiring the same runtime support as the traditional approach, solves these problems and makes it possible to execute arbitrary tabled programs. We also present performance results which show that the resulting CCall approach offers a useful tradeoff that can be competitive with other state-of-the-art implementations. © 2009 Springer Berlin Heidelberg.
CITATION STYLE
De Guzman, P. C., Carro, M., & Hermenegildo, M. V. (2009). Towards a complete scheme for tabled execution based on program transformation. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 5418 LNCS, pp. 224–238). https://doi.org/10.1007/978-3-540-92995-6_16
Mendeley helps you to discover research relevant for your work.