Tabling as a Library with Delimited Control

Benoit Desouter,Tom Schrijvers,Marko van Dooren
DOI: https://doi.org/10.1017/S1471068415000137
2015-07-29
Abstract:Tabling is probably the most widely studied extension of Prolog. But despite its importance and practicality, tabling is not implemented by most Prolog systems. Existing approaches require substantial changes to the Prolog engine, which is an investment out of reach of most systems. To enable more widespread adoption, we present a new implementation of tabling in under 600 lines of Prolog code. Our lightweight approach relies on delimited control and provides reasonable performance.
Programming Languages
What problem does this paper attempt to address?