In this paper we present a model of interactive programs in a purely functional style. We exploit lazy evaluation in the modelling of streams as lazy lists. We show how programs may be constructed in an ad hoc way, and then present a small set of interactions and combinators which form the basis for a disciplined approach to writing such programs. One of the difficulties of the ad hoc approach is that the way in which input and output are interleaved by the functions can be unpredictable. In the second half of the paper we use traces, i.e. partial histories of behaviour, to explain the interleaving of input and output, and give a formal explanation of our combinators. We argue that this justifies our claim that the combinators hav...
Lazy evaluation is an evaluation strategy in programming languages. Lazy evaluation delays the evalu...
In the recent years a multitude of functional language implementations has been developed, whereby t...
We investigate the interaction of lazy evaluation and backtracking in the framework of functional lo...
In this paper we present a model of interactive programs in a purely functional style. We exploit la...
We address the problem of producing a trace of the evaluation of a program written in a lazy functio...
AbstractWe develop a natural technique for defining functions in logic, i.e. PROLOG, which directly ...
D We develop a natural technique for defining functions in logic, i.e. PROLOG, which directly yields...
AbstractIn recent years much interest has been shown in a class of functional languages including HA...
The semantics of lazy functional programming languages is usually presented in two different ways: a...
We propose a new kind of execution environment where applications can be debugged and re-programmed ...
The mechanism of Landin-style stream input/output (I/O) makes it possible to write functional progra...
AbstractThe semantics of lazy functional programming languages is usually presented in two different...
AbstractThe powerful abstraction mechanisms of functional programming languages provide the means to...
In this paper we show, among other things, that logical structures such as di erence lists have a na...
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...
In the recent years a multitude of functional language implementations has been developed, whereby t...
We investigate the interaction of lazy evaluation and backtracking in the framework of functional lo...
In this paper we present a model of interactive programs in a purely functional style. We exploit la...
We address the problem of producing a trace of the evaluation of a program written in a lazy functio...
AbstractWe develop a natural technique for defining functions in logic, i.e. PROLOG, which directly ...
D We develop a natural technique for defining functions in logic, i.e. PROLOG, which directly yields...
AbstractIn recent years much interest has been shown in a class of functional languages including HA...
The semantics of lazy functional programming languages is usually presented in two different ways: a...
We propose a new kind of execution environment where applications can be debugged and re-programmed ...
The mechanism of Landin-style stream input/output (I/O) makes it possible to write functional progra...
AbstractThe semantics of lazy functional programming languages is usually presented in two different...
AbstractThe powerful abstraction mechanisms of functional programming languages provide the means to...
In this paper we show, among other things, that logical structures such as di erence lists have a na...
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...
In the recent years a multitude of functional language implementations has been developed, whereby t...
We investigate the interaction of lazy evaluation and backtracking in the framework of functional lo...