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
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...
<p> This thesis addresses the problem of avoiding errors in functional programs. The thesis has thre...
. 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...
AbstractAbstract interpretation is a compile-time technique which is used to gain information about ...
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...
This thesis addresses the problem of avoiding errors in functionalprograms. The thesis has three par...
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...
<p> This thesis addresses the problem of avoiding errors in functional programs. The thesis has thre...
. 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...
AbstractAbstract interpretation is a compile-time technique which is used to gain information about ...
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...
This thesis addresses the problem of avoiding errors in functionalprograms. The thesis has three par...
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...
<p> This thesis addresses the problem of avoiding errors in functional programs. The thesis has thre...