In this paper we present a new programming technique for lazy functional programming languages. The technique is embedded in a programming methodology which is based on divide and conquer: the division of problems into subproblems. Such a division will be represented by a call graph. A class of program schemes, which implement call graphs, is derived based on Johnsson’s approach to attribute evaluation in attribute grammars. The key idea is to consider the passing of arguments to functions and the return of results by functions in a call graph as the propagation of inherited and synthesized attributes, respectively, in an attribute grammar. The new technique is illustrated by several small examples and a case study: the design and implement...
We address the problem of producing a trace of the evaluation of a program written in a lazy functio...
For long, attribute grammars have formed an isolated programming formal-ism. We show how we may embe...
The semantics of lazy functional programming languages is usually presented in two different ways: a...
AbstractIn this paper we present a new programming technique for lazy functional programming languag...
In this paper we present a new programming technique for lazy functional programming languages. The ...
Two mappings from attribute grammars to lazy functional programs are defined. One of these mappings ...
Lazy evaluation is an evaluation strategy in programming languages. Lazy evaluation delays the evalu...
This thesis describes a complete compiler back-end for lazy functional languages, which uses various...
In Part I [5], we proposed an approach to formally describe and compare functional languages impleme...
In the recent years a multitude of functional language implementations has been developed, whereby t...
technical reportAn attribute grammar combines the standard context-free grammar that defines the syn...
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 ...
Functional languages can be enriched with logic variables to provide new computational features suc...
This paper is based on a recently developed technique to build debugging tools for lazy functional p...
We address the problem of producing a trace of the evaluation of a program written in a lazy functio...
For long, attribute grammars have formed an isolated programming formal-ism. We show how we may embe...
The semantics of lazy functional programming languages is usually presented in two different ways: a...
AbstractIn this paper we present a new programming technique for lazy functional programming languag...
In this paper we present a new programming technique for lazy functional programming languages. The ...
Two mappings from attribute grammars to lazy functional programs are defined. One of these mappings ...
Lazy evaluation is an evaluation strategy in programming languages. Lazy evaluation delays the evalu...
This thesis describes a complete compiler back-end for lazy functional languages, which uses various...
In Part I [5], we proposed an approach to formally describe and compare functional languages impleme...
In the recent years a multitude of functional language implementations has been developed, whereby t...
technical reportAn attribute grammar combines the standard context-free grammar that defines the syn...
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 ...
Functional languages can be enriched with logic variables to provide new computational features suc...
This paper is based on a recently developed technique to build debugging tools for lazy functional p...
We address the problem of producing a trace of the evaluation of a program written in a lazy functio...
For long, attribute grammars have formed an isolated programming formal-ism. We show how we may embe...
The semantics of lazy functional programming languages is usually presented in two different ways: a...