AbstractWe develop a natural technique for defining functions in logic, i.e. PROLOG, which directly yields lazy evaluation. Its use does not require any change to the PROLOG interpreter. Function definitions run as PROLOG programs and so run very efficiently. It is possible to combine lazy evaluation with nondeterminism and simulate coroutining. It is also possible to handle infinite data structures and implement networks of communicating processes. We analyze this technique and develop a precise definition of lazy evaluation for lists. For further efficiency we show how to preprocess programs and ensure, using logical variables, that values of expressions once generated are remembered for future access. Finally, we show how to translate pr...
In the recent years a multitude of functional language implementations has been developed, whereby t...
This paper is based on a recently developed technique to build debugging tools for lazy functional p...
We investigate the interaction of lazy evaluation and backtracking in the framework of functional lo...
D We develop a natural technique for defining functions in logic, i.e. PROLOG, which directly yields...
AbstractWe develop a natural technique for defining functions in logic, i.e. PROLOG, which directly ...
AbstractThere are several proposals for extending Prolog with functional capabilities. The basic ide...
Lazy evaluation is an evaluation strategy in programming languages. Lazy evaluation delays the evalu...
Functional languages can be enriched with logic variables to provide new computational features suc...
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...
Abstract. In this paper, we present a high-level implementation of lazy functional logic programs by...
Nondeterminism and partially instantiated data structures give logic programming expressive power b...
In this paper we show, among other things, that logical structures such as di erence lists have a na...
Certain aspects of functional programming provide syntactic convenience, such as having a designated...
We address the problem of producing a trace of the evaluation of a program written in a lazy functio...
In the recent years a multitude of functional language implementations has been developed, whereby t...
This paper is based on a recently developed technique to build debugging tools for lazy functional p...
We investigate the interaction of lazy evaluation and backtracking in the framework of functional lo...
D We develop a natural technique for defining functions in logic, i.e. PROLOG, which directly yields...
AbstractWe develop a natural technique for defining functions in logic, i.e. PROLOG, which directly ...
AbstractThere are several proposals for extending Prolog with functional capabilities. The basic ide...
Lazy evaluation is an evaluation strategy in programming languages. Lazy evaluation delays the evalu...
Functional languages can be enriched with logic variables to provide new computational features suc...
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...
Abstract. In this paper, we present a high-level implementation of lazy functional logic programs by...
Nondeterminism and partially instantiated data structures give logic programming expressive power b...
In this paper we show, among other things, that logical structures such as di erence lists have a na...
Certain aspects of functional programming provide syntactic convenience, such as having a designated...
We address the problem of producing a trace of the evaluation of a program written in a lazy functio...
In the recent years a multitude of functional language implementations has been developed, whereby t...
This paper is based on a recently developed technique to build debugging tools for lazy functional p...
We investigate the interaction of lazy evaluation and backtracking in the framework of functional lo...