D We 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 programs...
We address the problem of producing a trace of the evaluation of a program written in a lazy functio...
We investigate the interaction of lazy evaluation and backtracking in the framework of functional lo...
AbstractThis paper is based on a recently developed technique to build debugging tools for lazy func...
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...
Functional languages can be enriched with logic variables to provide new computational features suc...
Lazy evaluation is an evaluation strategy in programming languages. Lazy evaluation delays the evalu...
Abstract. In this paper, we present a high-level implementation of lazy functional logic programs by...
We propose an embedding of logic programming into lazy functional programming in which each predicat...
Abstract: We propose an embedding of logic programming into lazy functional programming in which eac...
Nondeterminism and partially instantiated data structures give logic programming expressive power b...
Certain aspects of functional programming provide syntactic convenience, such as having a designated...
In this paper we show, among other things, that logical structures such as di erence lists have a na...
This paper is based on a recently developed technique to build debugging tools for lazy functional p...
In the recent years a multitude of functional language implementations has been developed, whereby t...
We address the problem of producing a trace of the evaluation of a program written in a lazy functio...
We investigate the interaction of lazy evaluation and backtracking in the framework of functional lo...
AbstractThis paper is based on a recently developed technique to build debugging tools for lazy func...
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...
Functional languages can be enriched with logic variables to provide new computational features suc...
Lazy evaluation is an evaluation strategy in programming languages. Lazy evaluation delays the evalu...
Abstract. In this paper, we present a high-level implementation of lazy functional logic programs by...
We propose an embedding of logic programming into lazy functional programming in which each predicat...
Abstract: We propose an embedding of logic programming into lazy functional programming in which eac...
Nondeterminism and partially instantiated data structures give logic programming expressive power b...
Certain aspects of functional programming provide syntactic convenience, such as having a designated...
In this paper we show, among other things, that logical structures such as di erence lists have a na...
This paper is based on a recently developed technique to build debugging tools for lazy functional p...
In the recent years a multitude of functional language implementations has been developed, whereby t...
We address the problem of producing a trace of the evaluation of a program written in a lazy functio...
We investigate the interaction of lazy evaluation and backtracking in the framework of functional lo...
AbstractThis paper is based on a recently developed technique to build debugging tools for lazy func...