A substantial amount of work has been devoted to the proof of correctness of various program analyses but much less attention has been paid to the correctness of compiler optimisations based on these analyses. In this paper we tackle the problem in the context of strictness analysis for lazy functional languages. We show that compiler optimisations based on strictness analysis can be expressed formally in the functional framework using continuations. This formal presentation has two benefits: it allows us to give a rigorous correctness proof of the optimised compiler; and it exposes the various optimisations made possible by a strictness analysis
AbstractThe theory of relative program correctness and its preservation allows for elaborate and pra...
Abstract. Reasoning about programming languages with non-deter-ministic semantics entails many diffi...
As any piece of software, compilers, and especially optimizing compilers, can be faulty. It is there...
. We show that compiler optimisations based on strictness analysis can be expressed formally in the ...
AbstractAbstract interpretation is a compile-time technique which is used to gain information about ...
AbstractExpression evaluation in lazy applicative languages is usually implemented by an expensive m...
The major question examined by this paper is whether sufficient fine-grain parallelism can be obtain...
We describe a simple strictness analyser for purely-functional programs, show how its results are us...
This thesis addresses the problem of avoiding errors in functional programs. The thesis has three pa...
In this thesis we present and analyse a set of automatic source-to-source program transformations th...
Abstract. In this article, we describe a framework for formally verify-ing the correctness of compil...
This thesis investigates the implementation of lazy functional programming languages on parallel mac...
This report deals with strictness types, a way of recording whether a function needs its argument(s)...
We describe a technique for automatically proving compiler optimizations sound, meaning that their t...
Abstract—There is a significant body of work devoted to testing, verifying, and certifying the corre...
AbstractThe theory of relative program correctness and its preservation allows for elaborate and pra...
Abstract. Reasoning about programming languages with non-deter-ministic semantics entails many diffi...
As any piece of software, compilers, and especially optimizing compilers, can be faulty. It is there...
. We show that compiler optimisations based on strictness analysis can be expressed formally in the ...
AbstractAbstract interpretation is a compile-time technique which is used to gain information about ...
AbstractExpression evaluation in lazy applicative languages is usually implemented by an expensive m...
The major question examined by this paper is whether sufficient fine-grain parallelism can be obtain...
We describe a simple strictness analyser for purely-functional programs, show how its results are us...
This thesis addresses the problem of avoiding errors in functional programs. The thesis has three pa...
In this thesis we present and analyse a set of automatic source-to-source program transformations th...
Abstract. In this article, we describe a framework for formally verify-ing the correctness of compil...
This thesis investigates the implementation of lazy functional programming languages on parallel mac...
This report deals with strictness types, a way of recording whether a function needs its argument(s)...
We describe a technique for automatically proving compiler optimizations sound, meaning that their t...
Abstract—There is a significant body of work devoted to testing, verifying, and certifying the corre...
AbstractThe theory of relative program correctness and its preservation allows for elaborate and pra...
Abstract. Reasoning about programming languages with non-deter-ministic semantics entails many diffi...
As any piece of software, compilers, and especially optimizing compilers, can be faulty. It is there...