Suspension-based tabling systems have to save and restore computation states belonging to OR branches. Stack freezing combined with (forward) trailing is among the better-known implementation approaches for this purpose. Resuming a goal using this technique reinstalls the bindings for all the variables in the environment where the goal was suspended. In this paper we explore an alternative approach where variables can keep track of several bindings, associated with suspensions. Resuming a goal boils down to determining which suspension has to be resumed, in order to select, when dereferencing, the bindings which were active at the moment of suspending. We present the ideas behind this approach, highlight several advantages over other suspension-based implementations, and perform an experimental evaluation. We also recall the similarity between OR-parallelism and suspension-based implementations of tabling, and discuss similarities with the Version Vectors Method, among others. © 2009 Springer Berlin Heidelberg.
CITATION STYLE
Chico De Guzmán, P., Carro, M., & Hermenegildo, M. (2009). A tabling implementation based on variables with multiple bindings. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 5649 LNCS, pp. 190–204). https://doi.org/10.1007/978-3-642-02846-5_19
Mendeley helps you to discover research relevant for your work.