Recent work has provided delimited control for Prolog to dynamically manipulate the program control-flow, and to implement a wide range of control-flow and dataflow effects on top of. Unfortunately, delimited control is a rather primitive language feature that is not easy to use. As a remedy, this work introduces algebraic effect handlers for Prolog, as a high-level and structured way of defining new side-effects in a modular fashion. We illustrate the expressive power of the feature and provide an implementation by means of elaboration into the delimited control primitives. The latter add a non-negligible performance overhead when used extensively. To address this issue, we present an optimised compilation approach that combines partial ev...
The ow of control is more complex in Prolog than in imperative languages; 4 counts (or currents) | c...
In the past, a lot of research has been done on obtaining efficient execution of programs which are ...
AbstractA model for the coroutined execution of PROLOG programs is presented, and two control primit...
Recent work has provided delimited control for Prolog to dynamically manipulate the program control-...
Abstract Algebraic effect handlers are a great way for modularizing side effects in Prolog, but they...
In programming languages, a side effect occurs whenever a computation has another effect beside retu...
A long-standing problem in logic programming is how to cleanly separate logic and control. While sol...
The popularity of algebraic effect handlers as a programming language feature for user-defined compu...
AbstractThis paper presents a rigorous framework for studying the influence of side effects in logic...
AbstractA pure prolog program (with goal) consists of a definite clause part P and an expression G w...
A long-standing problem in logic programming is how to cleanly separate logic and control. While sol...
Delimited continuations are a famous control primitive that originates in the functional programming...
A long-standing problem in logic programming is how to cleanly separate logic and control. While sol...
The purpose of this article is twofold. First, we show that Prolog's control constructs can be smoot...
Tabling is probably the most widely studied extension of Prolog. But despite its importance and prac...
The ow of control is more complex in Prolog than in imperative languages; 4 counts (or currents) | c...
In the past, a lot of research has been done on obtaining efficient execution of programs which are ...
AbstractA model for the coroutined execution of PROLOG programs is presented, and two control primit...
Recent work has provided delimited control for Prolog to dynamically manipulate the program control-...
Abstract Algebraic effect handlers are a great way for modularizing side effects in Prolog, but they...
In programming languages, a side effect occurs whenever a computation has another effect beside retu...
A long-standing problem in logic programming is how to cleanly separate logic and control. While sol...
The popularity of algebraic effect handlers as a programming language feature for user-defined compu...
AbstractThis paper presents a rigorous framework for studying the influence of side effects in logic...
AbstractA pure prolog program (with goal) consists of a definite clause part P and an expression G w...
A long-standing problem in logic programming is how to cleanly separate logic and control. While sol...
Delimited continuations are a famous control primitive that originates in the functional programming...
A long-standing problem in logic programming is how to cleanly separate logic and control. While sol...
The purpose of this article is twofold. First, we show that Prolog's control constructs can be smoot...
Tabling is probably the most widely studied extension of Prolog. But despite its importance and prac...
The ow of control is more complex in Prolog than in imperative languages; 4 counts (or currents) | c...
In the past, a lot of research has been done on obtaining efficient execution of programs which are ...
AbstractA model for the coroutined execution of PROLOG programs is presented, and two control primit...