Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported license
Tabling is an implementation technique that solves some limitations of Prolog's operational semantics in dealing with recursion and redundant sub-computations. Tabling works by memorizing generated answers and then by reusing them on similar calls that appear during the resolution process. In a traditional tabling system, all the arguments of a tabled subgoal call are considered when storing answers into the table space. Traditional tabling systems are thus very good for problems that require finding all answers. Mode-directed tabling is an extension to the tabling technique that supports the definition of selective criteria for specifying how answers are inserted into the table space. Implementations of mode-directed tabling are already available in systems like ALS-Prolog, B-Prolog and XSB. In this paper, we propose a more general approach to the declaration and use of mode-directed tabling, implemented on top of the YapTab tabling system, and we show applications of our approach to problems involving Justification, Preferences and Answer Subsumption.
@InProceedings{santos_et_al:OASIcs.SLATE.2012.25,
author = {Santos, Jo\~{a}o and Rocha, Ricardo},
title = {{Mode-Directed Tabling and Applications in the YapTab System}},
booktitle = {1st Symposium on Languages, Applications and Technologies},
pages = {25--40},
series = {Open Access Series in Informatics (OASIcs)},
ISBN = {978-3-939897-40-8},
ISSN = {2190-6807},
year = {2012},
volume = {21},
editor = {Sim\~{o}es, Alberto and Queir\'{o}s, Ricardo and da Cruz, Daniela},
publisher = {Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik},
address = {Dagstuhl, Germany},
URL = {https://drops.dagstuhl.de/entities/document/10.4230/OASIcs.SLATE.2012.25},
URN = {urn:nbn:de:0030-drops-35123},
doi = {10.4230/OASIcs.SLATE.2012.25},
annote = {Keywords: Tabling, Mode Operators, Applications}
}