A long-standing problem in logic programming is how to cleanly separate logic and control. While solutions exist, they fall short in one of two ways: some are too intrusive, because they require significant changes to Prolog’s underlying implementation; others are lacking a clean semantic grounding. We resolve both of these issues in this paper. We derive a solution that is both lightweight and principled. We do so by starting from a functional specification of Prolog based on monads, and extend this with the effect handlers approach to capture the dynamic search tree as syntax. Effect handlers then express heuristics in terms of tree transformations. Moreover, we can declaratively express many heuristics as trees themselves that are combin...
Abstract. This paper describes how high level implementations of (need-ed) narrowing into Prolog can...
AbstractThis paper proposes to specify semantic definitions for logic programming languages such as ...
Recent work has provided delimited control for Prolog to dynamically manipulate the program control-...
A long-standing problem in logic programming is how to cleanly separate logic and control. While sol...
A long-standing problem in logic programming is how to cleanly separate logic and control. While sol...
A long-standing problem in logic programming is how to cleanly separate logic and control. While sol...
Abstract. In this paper, we present a high-level implementation of lazy functional logic programs by...
Abstract: We propose an embedding of logic programming into lazy functional programming in which eac...
We propose an embedding of logic programming into lazy functional programming in which each predicat...
The goal of this paper is to construct a semantic basis for the abstract interpretation of Prolog pr...
The goal of this paper is to construct a semantic basis for the abstract interpretaion of Prolog pro...
The purpose of this article is twofold. First, we show that Prolog's control constructs can be smoot...
Abstract. This paper describes how high level implementations of (needed) narrowing into Prolog can ...
We describe the implementation of needed narrowing deployed in a compiler of a functional-logic lang...
We present a Prolog program (the SAT solver of Howe and King) as a logic program with added control....
Abstract. This paper describes how high level implementations of (need-ed) narrowing into Prolog can...
AbstractThis paper proposes to specify semantic definitions for logic programming languages such as ...
Recent work has provided delimited control for Prolog to dynamically manipulate the program control-...
A long-standing problem in logic programming is how to cleanly separate logic and control. While sol...
A long-standing problem in logic programming is how to cleanly separate logic and control. While sol...
A long-standing problem in logic programming is how to cleanly separate logic and control. While sol...
Abstract. In this paper, we present a high-level implementation of lazy functional logic programs by...
Abstract: We propose an embedding of logic programming into lazy functional programming in which eac...
We propose an embedding of logic programming into lazy functional programming in which each predicat...
The goal of this paper is to construct a semantic basis for the abstract interpretation of Prolog pr...
The goal of this paper is to construct a semantic basis for the abstract interpretaion of Prolog pro...
The purpose of this article is twofold. First, we show that Prolog's control constructs can be smoot...
Abstract. This paper describes how high level implementations of (needed) narrowing into Prolog can ...
We describe the implementation of needed narrowing deployed in a compiler of a functional-logic lang...
We present a Prolog program (the SAT solver of Howe and King) as a logic program with added control....
Abstract. This paper describes how high level implementations of (need-ed) narrowing into Prolog can...
AbstractThis paper proposes to specify semantic definitions for logic programming languages such as ...
Recent work has provided delimited control for Prolog to dynamically manipulate the program control-...