A problem arises when the usual rules of fold/unfold transformation are applied in a non--strict programming system. Case analysis by instantiation may alter strictness characteristics of the function being transformed, and hence alter the behaviour of programs. Although such behavioural changes can in general be quite subtle, they are all too apparent if the program is interactive, since I/O interleaving is closely tied to strictness properties. A two--phase solution to the problem is proposed. It comprises a suitable form of strictness analysis to determine whether a proposed instantiation is safe, and a procedure to re--formulate troublesome definitions so that, in effect, case analysis is shifted to a nearby safe context. 1. Introduct...
. In this paper we present a general framework for type-based analyses of functional programs. Our f...
In this paper, we present an imperative language enhanced with higher-order functions, function curr...
A number of approximate program transformations have recently emerged that enable transformed progra...
In this paper we propose a complete fold/unfold based transformation system for optimizing (lazy) f...
AbstractIn this paper we show how to transfer some developments done in the field of functionallogi...
Approximate program transformations such as task skipping [27, 28], loop perforation [20, 21, 32], m...
Most statically typed functional programming languages allow programmers to write partial functions:...
AbstractAbstract interpretation is a compile-time technique which is used to gain information about ...
. The paper shows how term rewriting techniques can be used to automatically transform first-order f...
This report deals with strictness types, a way of recording whether a function needs its argument(s)...
Pure functional programming language offer many advantages over impure languages. Unfortunately, the...
Language designers and implementors have avoided specifying and preserving the meaning of programs t...
Traditional functional languages do not have an explicit distinction between binding times. It aris...
Abstract. Pure functional programming language offer many advan-tages over impure languages. Unfortu...
We describe a simple strictness analyser for purely-functional programs, show how its results are us...
. In this paper we present a general framework for type-based analyses of functional programs. Our f...
In this paper, we present an imperative language enhanced with higher-order functions, function curr...
A number of approximate program transformations have recently emerged that enable transformed progra...
In this paper we propose a complete fold/unfold based transformation system for optimizing (lazy) f...
AbstractIn this paper we show how to transfer some developments done in the field of functionallogi...
Approximate program transformations such as task skipping [27, 28], loop perforation [20, 21, 32], m...
Most statically typed functional programming languages allow programmers to write partial functions:...
AbstractAbstract interpretation is a compile-time technique which is used to gain information about ...
. The paper shows how term rewriting techniques can be used to automatically transform first-order f...
This report deals with strictness types, a way of recording whether a function needs its argument(s)...
Pure functional programming language offer many advantages over impure languages. Unfortunately, the...
Language designers and implementors have avoided specifying and preserving the meaning of programs t...
Traditional functional languages do not have an explicit distinction between binding times. It aris...
Abstract. Pure functional programming language offer many advan-tages over impure languages. Unfortu...
We describe a simple strictness analyser for purely-functional programs, show how its results are us...
. In this paper we present a general framework for type-based analyses of functional programs. Our f...
In this paper, we present an imperative language enhanced with higher-order functions, function curr...
A number of approximate program transformations have recently emerged that enable transformed progra...