Saved in:
Bibliographic Details
Main Author: Drabent, Włodzimierz
Format: Preprint
Published: 2023
Subjects:
Online Access:https://arxiv.org/abs/2305.16137
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1866915455812239360
author Drabent, Włodzimierz
author_facet Drabent, Włodzimierz
contents 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.
format Preprint
id arxiv_https___arxiv_org_abs_2305_16137
institution arXiv
publishDate 2023
record_format arxiv
spellingShingle Implementing backjumping by means of exception handling
Drabent, Włodzimierz
Programming Languages
Logic in Computer Science
68N17
D.1.6; I.2.8; D.3.3
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.
title Implementing backjumping by means of exception handling
topic Programming Languages
Logic in Computer Science
68N17
D.1.6; I.2.8; D.3.3
url https://arxiv.org/abs/2305.16137