No CrossRef data available.
Article contents
Implementing Backjumping by Means of Exception Handling
Published online by Cambridge University Press: 24 August 2023
Abstract
We discuss how to implement backjumping (or intelligent backtracking) in Prolog by using the built-ins throw/1 and catch/3. We show that it is impossible in a general case, contrary to a claim that “backjumping is exception handling." We provide two solutions. One works for binary programs; in a general case it imposes a restriction on where backjumping may originate. The other restricts the class of backjump targets. We also discuss implementing backjumping by using backtracking and the Prolog database. Additionally, we explain the semantics of Prolog exception handling in the presence of coroutining.
- Type
- Original Article
- Information
- Theory and Practice of Logic Programming , Volume 23 , Issue 4: 2023 International Conference on Logic Programming , July 2023 , pp. 918 - 932
- Copyright
- © The Author(s), 2023. Published by Cambridge University Press
Footnotes
Thanks are due to the anonymous reviewers for their stimulating comments. Jan Wielemaker, David Geleßus and Ed Robbins commented on the content of the Appendix.