AbstractAbstract interpretation is a compile-time technique which is used to gain information about a program that may then be used to optimise the execution of the program. A particular use of abstract interpretation is the strictness analysis of functional programs. This provides the key to the exploitation of parallelism in the evaluation of programs written in functional languages. In a language that has lazy semantics, the main potential for parallelism arises in the evaluation of operands of strict operators. A function is strict in an argument if its value is undefined whenever the argument is undefined. If we can use strictness analysis to detect which arguments a function is strict in, we then know that these arguments can be safel...
AbstractIn this paper we consider a functional language with recursively defined types and a weak fo...
This report deals with strictness types, a way of recording whether a function needs its argumen...
The major question examined by this paper is whether sufficient fine-grain parallelism can be obtain...
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...
Abstract. In this report a new backward strictness analysis for functional languages is presented. I...
We describe a simple strictness analyser for purely-functional programs, show how its results are us...
AbstractIn this paper we present the results of two pieces of work which, when combined, allow us to...
A substantial amount of work has been devoted to the proof of correctness of various program analyse...
AbstractA theory of abstract interpretation (P. Cousot and R. Cousot, in “Conf. Record, 4th ACM Symp...
Properties of programs can be formulated using various techniques: dataflow analysis, abstract inter...
. We show that compiler optimisations based on strictness analysis can be expressed formally in the ...
A construction for finite abstract domains is presented which is quite general, being applicable to ...
We extend an existing first-order typing system for strictness analysis to the fully higher-order ca...
In a non-strict programming language like Haskell a function only evaluates the parts of an argument...
AbstractIn this paper we consider a functional language with recursively defined types and a weak fo...
This report deals with strictness types, a way of recording whether a function needs its argumen...
The major question examined by this paper is whether sufficient fine-grain parallelism can be obtain...
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...
Abstract. In this report a new backward strictness analysis for functional languages is presented. I...
We describe a simple strictness analyser for purely-functional programs, show how its results are us...
AbstractIn this paper we present the results of two pieces of work which, when combined, allow us to...
A substantial amount of work has been devoted to the proof of correctness of various program analyse...
AbstractA theory of abstract interpretation (P. Cousot and R. Cousot, in “Conf. Record, 4th ACM Symp...
Properties of programs can be formulated using various techniques: dataflow analysis, abstract inter...
. We show that compiler optimisations based on strictness analysis can be expressed formally in the ...
A construction for finite abstract domains is presented which is quite general, being applicable to ...
We extend an existing first-order typing system for strictness analysis to the fully higher-order ca...
In a non-strict programming language like Haskell a function only evaluates the parts of an argument...
AbstractIn this paper we consider a functional language with recursively defined types and a weak fo...
This report deals with strictness types, a way of recording whether a function needs its argumen...
The major question examined by this paper is whether sufficient fine-grain parallelism can be obtain...