Thunk-lifting is a programtransformation for lazy functional programs. The transforma- tion aims at reducing the amount of heap space allocated to the program when it executes. Thunk-lifting transforms a function application that contains as arguments further, nested, function applications into a new function application without nesting. The transformation thus essentially folds some function applications. The applications to be folded are selected on the basis of a set of conditions, which have been chosen such that thunk-lifting never increases the amount of heap space required by a transformed program. Thunk-lifting has been implemented and applied to a number ofmediumsize benchmark programs. The results show that the number of cell clai...
Needed narrowing is a complete operational principle for modern declarative languages which integrat...
The value of a variable is often given by a eld of a heap cell, and frequently the program will pic...
This thesis describes a complete compiler back-end for lazy functional languages, which uses various...
We describe the design, implementation and use of a new kind of profiling tool that yields valuable ...
This paper reports on the experimental application of heap profiling to Augustsson and Johnsson&apos...
Automatic memory management is an important concept in many high order languages. It improves produc...
A signicant problem with lazy functional programs is that they often demand a great deal of space. M...
Lazy functional languages such as LML [4], Haskell [21], and Concurrent Clean [35] typically feature...
. The paper shows how term rewriting techniques can be used to automatically transform first-order f...
In this paper we propose a complete fold/unfold based transformation system for optimizing (lazy) f...
The development of sorting routines is a well trodden path." [DF88, p. 66] We proceed by progr...
We present a static analysis that estimates reusable memory cells and a source-level transformation ...
This paper describes Automatic Pool Allocation, a transformation framework that segregates distinct ...
This paper describes the program transformation system Ultra. The intended use of Ultra is to assist...
In this thesis we present and analyse a set of automatic source-to-source program transformations th...
Needed narrowing is a complete operational principle for modern declarative languages which integrat...
The value of a variable is often given by a eld of a heap cell, and frequently the program will pic...
This thesis describes a complete compiler back-end for lazy functional languages, which uses various...
We describe the design, implementation and use of a new kind of profiling tool that yields valuable ...
This paper reports on the experimental application of heap profiling to Augustsson and Johnsson&apos...
Automatic memory management is an important concept in many high order languages. It improves produc...
A signicant problem with lazy functional programs is that they often demand a great deal of space. M...
Lazy functional languages such as LML [4], Haskell [21], and Concurrent Clean [35] typically feature...
. The paper shows how term rewriting techniques can be used to automatically transform first-order f...
In this paper we propose a complete fold/unfold based transformation system for optimizing (lazy) f...
The development of sorting routines is a well trodden path." [DF88, p. 66] We proceed by progr...
We present a static analysis that estimates reusable memory cells and a source-level transformation ...
This paper describes Automatic Pool Allocation, a transformation framework that segregates distinct ...
This paper describes the program transformation system Ultra. The intended use of Ultra is to assist...
In this thesis we present and analyse a set of automatic source-to-source program transformations th...
Needed narrowing is a complete operational principle for modern declarative languages which integrat...
The value of a variable is often given by a eld of a heap cell, and frequently the program will pic...
This thesis describes a complete compiler back-end for lazy functional languages, which uses various...