Logic continuations

https://doi.org/10.1016/0743-1066(87)90016-1Get rights and content
Under an Elsevier user license
open archive

Abstract

We develop a “complete” embedding of logic programming into scheme—a lexically scoped lisp dialect with first-class continuations. Logic variables are bound in the scheme environment, and the success and failure continuations are represented as scheme continuations. To account for the semantics of logic variables and failure continuations, the state-space model of control is modified in a novel way that generalizes the trail mechanism. This ensures that logic variable bindings are properly restored when continuations are invoked to perform “lateral” control transfers that are not possible in a traditional logic programming context. It is thereby possible to obtain greater control flexibility while allowing much of a program to be expressed with logic programming.

Cited by (0)