This paper proves correctness of Nöcker's method of strictness analysis, implemented in the Clean compiler, which is an effective way for strictness analysis in lazy functional languages based on their operational semantics. We improve upon the work of Clark, Hankin and Hunt did on the correctness of the abstract reduction rules. Our method fully considers the cycle detection rules, which are the main strength of Nöcker's strictness analysis. Our algorithm SAL is a reformulation of Nöcker's strictness analysis algorithm in a higher-order call-by-need lambda-calculus with case, constructors, letrec, and seq, extended by set constants like Top or Inf, denoting sets of expressions. It is also possible to define new set constants by recursive e...
Properties of programs can be formulated using various techniques: dataflow analysis, abstract inter...
In a non-strict functional programming language functions that yield the same result for all total a...
Static analysis of different non-strict functional programming languages makes use of set constants ...
This paper proves correctness of Nocker s method of strictness analysis, implemented for Clean, whic...
This paper proposes a non-standard way to combine lazy functional languages with I/O. In order to de...
We give upper bounds on the number of times the fixed point operator needs to be unfolded for strict...
In a non-strict programming language like Haskell a function only evaluates the parts of an argument...
AbstractAbstract interpretation is a compile-time technique which is used to gain information about ...
AbstractWe define a novel inference system for strictness and totality analysis for the simply-typed...
AbstractA theory of abstract interpretation (P. Cousot and R. Cousot, in “Conf. Record, 4th ACM Symp...
AbstractExpression evaluation in lazy applicative languages is usually implemented by an expensive m...
The extraction of strictness information marks an indispensable element of an efficient compilation ...
We define a novel inference system for strictness and totality analysis for the simply-typed lazy la...
We extend an existing first-order typing system for strictness analysis to the fully higher-order ca...
This report deals with strictness types, a way of recording whether a function needs its argumen...
Properties of programs can be formulated using various techniques: dataflow analysis, abstract inter...
In a non-strict functional programming language functions that yield the same result for all total a...
Static analysis of different non-strict functional programming languages makes use of set constants ...
This paper proves correctness of Nocker s method of strictness analysis, implemented for Clean, whic...
This paper proposes a non-standard way to combine lazy functional languages with I/O. In order to de...
We give upper bounds on the number of times the fixed point operator needs to be unfolded for strict...
In a non-strict programming language like Haskell a function only evaluates the parts of an argument...
AbstractAbstract interpretation is a compile-time technique which is used to gain information about ...
AbstractWe define a novel inference system for strictness and totality analysis for the simply-typed...
AbstractA theory of abstract interpretation (P. Cousot and R. Cousot, in “Conf. Record, 4th ACM Symp...
AbstractExpression evaluation in lazy applicative languages is usually implemented by an expensive m...
The extraction of strictness information marks an indispensable element of an efficient compilation ...
We define a novel inference system for strictness and totality analysis for the simply-typed lazy la...
We extend an existing first-order typing system for strictness analysis to the fully higher-order ca...
This report deals with strictness types, a way of recording whether a function needs its argumen...
Properties of programs can be formulated using various techniques: dataflow analysis, abstract inter...
In a non-strict functional programming language functions that yield the same result for all total a...
Static analysis of different non-strict functional programming languages makes use of set constants ...