Tabling as a Library with Delimited Control
Benoit Desouter, Tom Schrijvers, Marko van Dooren

TL;DR
This paper introduces a lightweight, Prolog-based implementation of tabling using delimited control, making tabling more accessible without extensive engine modifications.
Contribution
It presents a novel, minimalistic approach to tabling in Prolog, implemented in under 600 lines of code, facilitating easier adoption.
Findings
Achieves reasonable performance with a lightweight implementation.
Requires minimal changes to existing Prolog systems.
Enables broader adoption of tabling in Prolog environments.
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.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsLogic, programming, and type systems · Logic, Reasoning, and Knowledge · Formal Methods in Verification
