Starting from a continuation-based interpreter for a simple logic programming language, propositional Prolog with cut, we derive the corresponding logic engine in the form of an abstract machine. The derivation originates in previous work (our article at PPDP 2003) where it was applied to the lambda-calculus. The key transformation here is Reynolds's defunctionalization that transforms a tail-recursive, continuation-passing interpreter into a transition system, i.e., an abstract machine. Similar denotational and operational semantics were studied by de Bruin and de Vink in previous work (their article at TAPSOFT 1989), and we compare their study with our derivation. Additionally, we present a direct-style interpreter of propositional Prolog...
We present a simple inter-derivation between lambda-interpreters, i.e., evaluation functions for lam...
Delimited continuations are a famous control primitive that originates in the functional programming...
An implementation technique for abstract imterpretation is given which exploits stream communication...
Starting from a continuation-based interpreter for a simple logic programming language, proposition...
Starting from a continuation-based interpreter for a simple logic programming language, propositiona...
[[abstract]]A continuation represents the dynamic effect of the remainder of a program. We present a...
textabstractWe present a denotational continuation semantics for PROLOG with cut. First a uniform la...
[[abstract]]A continuation represents the dynamic effect of the remainder of a program. We present a...
AbstractAn abstract language B embodying the flow of control component of PROLOG including the cut o...
AbstractAn abstract language B embodying the flow of control component of PROLOG including the cut o...
Delimited continuations are a famous control primitive that originates in the functional programming...
Delimited continuations are a famous control primitive that originates in the functional programming...
Delimited continuations are a famous control primitive that originates in the functional programming...
AbstractThe semantics of PROLOG programs is usually given in terms of the model theory of first-orde...
Centre for Intelligent Systems and their ApplicationsThe coneptual distinction between logic and co...
We present a simple inter-derivation between lambda-interpreters, i.e., evaluation functions for lam...
Delimited continuations are a famous control primitive that originates in the functional programming...
An implementation technique for abstract imterpretation is given which exploits stream communication...
Starting from a continuation-based interpreter for a simple logic programming language, proposition...
Starting from a continuation-based interpreter for a simple logic programming language, propositiona...
[[abstract]]A continuation represents the dynamic effect of the remainder of a program. We present a...
textabstractWe present a denotational continuation semantics for PROLOG with cut. First a uniform la...
[[abstract]]A continuation represents the dynamic effect of the remainder of a program. We present a...
AbstractAn abstract language B embodying the flow of control component of PROLOG including the cut o...
AbstractAn abstract language B embodying the flow of control component of PROLOG including the cut o...
Delimited continuations are a famous control primitive that originates in the functional programming...
Delimited continuations are a famous control primitive that originates in the functional programming...
Delimited continuations are a famous control primitive that originates in the functional programming...
AbstractThe semantics of PROLOG programs is usually given in terms of the model theory of first-orde...
Centre for Intelligent Systems and their ApplicationsThe coneptual distinction between logic and co...
We present a simple inter-derivation between lambda-interpreters, i.e., evaluation functions for lam...
Delimited continuations are a famous control primitive that originates in the functional programming...
An implementation technique for abstract imterpretation is given which exploits stream communication...