Common subexpression elimination is a well-known compiler optimisation that saves time by avoiding the repetition of the same computation. To our knowledge it has not yet been applied to lazy functional programming languages, although there are several advantages. First, the referential transparency of these languages makes the identification of common subexpressions very simple. Second, more common subexpressions can be recognised because they can be of arbitrary type whereas standard common subexpression elimination only shares primitive values. However, because lazy functional languages decouple program structure from data space allocation and control flow, analysing its effects and deciding under which conditions the elimination of a co...
A computation tree of a program execution describes computations of functions and their dependencies...
AbstractIn recent years much interest has been shown in a class of functional languages including HA...
A substantial amount of work has been devoted to the proof of correctness of various program analyse...
Common subexpression elimination is a well-known compiler optimisation that saves time by avoiding t...
Abstract. Common subexpression elimination is a well-known compiler optimisation that saves time by ...
Six implementations of different lazy functional languages are compared using a common benchmark of ...
This thesis describes a complete compiler back-end for lazy functional languages, which uses various...
In this thesis we present and analyse a set of automatic source-to-source program transformations th...
Lazy functional languages such as LML [4], Haskell [21], and Concurrent Clean [35] typically feature...
Automatic memory management is an important concept in many high order languages. It improves produc...
Functional programming languages such as Haskell are fundamentally different from imperative languag...
Functional programming languages such as Haskell are fundamentally different from imperative languag...
Program slicing is a well known family of techniques intended to identify and isolate code fragments...
The evaluation strategies of programming languages can be broadly categorised as strict or lazy. A c...
The aim of the FAST Project is to provide an implementation of a functional language, Haskell, on a ...
A computation tree of a program execution describes computations of functions and their dependencies...
AbstractIn recent years much interest has been shown in a class of functional languages including HA...
A substantial amount of work has been devoted to the proof of correctness of various program analyse...
Common subexpression elimination is a well-known compiler optimisation that saves time by avoiding t...
Abstract. Common subexpression elimination is a well-known compiler optimisation that saves time by ...
Six implementations of different lazy functional languages are compared using a common benchmark of ...
This thesis describes a complete compiler back-end for lazy functional languages, which uses various...
In this thesis we present and analyse a set of automatic source-to-source program transformations th...
Lazy functional languages such as LML [4], Haskell [21], and Concurrent Clean [35] typically feature...
Automatic memory management is an important concept in many high order languages. It improves produc...
Functional programming languages such as Haskell are fundamentally different from imperative languag...
Functional programming languages such as Haskell are fundamentally different from imperative languag...
Program slicing is a well known family of techniques intended to identify and isolate code fragments...
The evaluation strategies of programming languages can be broadly categorised as strict or lazy. A c...
The aim of the FAST Project is to provide an implementation of a functional language, Haskell, on a ...
A computation tree of a program execution describes computations of functions and their dependencies...
AbstractIn recent years much interest has been shown in a class of functional languages including HA...
A substantial amount of work has been devoted to the proof of correctness of various program analyse...