On Strictness and Totality

@inproceedings{Coppo1997OnSA,
  title={On Strictness and Totality},
  author={Mario Coppo and Ferruccio Damiani and Paola Giannini},
  booktitle={TACS},
  year={1997}
}
In this paper we present a revised and extended version of the strictness and totality type assignment system introduced by Solberg, Nielson and Nielson in the Static Analysis Symposium '94. Our main result is that (w.r.t. the possibility of replacing safely a lazy application by a strict one) the strictness and totality information given by this system is equivalent to the information given by two separate systems: one for strictness, and one for totality. This result is interesting from both… 

An Inference Algorithm for Strictness

TLDR
An algorithm for detecting strictness information in typed functional programs based on a type inference system which allows to exploit the type structure of the language for the investigation of program properties and can be applied to polymorphic languages like Lazy ML.

Full abstraction, totality and PCF

  • G. Plotkin
  • Mathematics
    Mathematical Structures in Computer Science
  • 1999
TLDR
This work considers the interaction of totality and full abstraction, asking whether full abstraction holds for Scott's model of cpos and continuous functions if one restricts to total programs and total observations, and investigates how totality differs between these models.

Detecting and Removing Dead-Code using Rank 2 Intersection

TLDR
By allowing the use of rank 2 intersection, the non-standard type assignment system for the detection and elimination of dead-code in typed functional programs presented by Coppo et al in the Static Analysis Symposium '96 is extended.

References

SHOWING 1-10 OF 16 REFERENCES

Strictness and Totality Analysis

TLDR
A novel inference system for strictness and totality analysis for the simply-typed lazy lambda-calculus with constants and fixpoints is defined, allowing conjunctions only at ``top level´´.

Strictness and Totality Analysis

TLDR
A novel inference system for strictness and totality analysis for the simplytyped lazy lambda-calculus with constants and fixpoints is defined, allowing conjunctions only at “top-level”.

An Inference Algorithm for Strictness

TLDR
An algorithm for detecting strictness information in typed functional programs based on a type inference system which allows to exploit the type structure of the language for the investigation of program properties and can be applied to polymorphic languages like Lazy ML.

Annotated Type Systems for Program Analysis

TLDR
A combined strictness and totality analysis is presented, Hunt shows that projection based analyses are subsumed by PER (partial equivalence relation) based analyses using abstract interpretation and a more efficient algorithm is constructed than the one proposed by Nielson and Nielson.

Reduction types and intensionality in the lambda-calculus

TLDR
A new approach to the automated analysis of the reduction behaviour of A-calculus terms is introduced, which improves on earlier analysers in several ways, not least in its treatment of higher-order terms and polymorphism, two notably troublesome issues.

Strictness and Totality Analysis with Conjunction

TLDR
The strictness and totality analysis of [12] is extended by allowing conjunction at all levels rather than at the top-level, and an algorithm for inferring the stricteness and totality properties is constructed.

Strictness Analysis for Higher-Order Functions

Type Inference, Abstract Interpretation and Strictness Analysis

Refinement Types for Program Analysis

TLDR
The main application of this method is the optimization of programs extracted from proofs in logical frameworks but it could be used as well in the elimination of dead code determined by program specialization.

Deriving algorithms from type inference systems: application to strictness analysis

TLDR
First, the notion of lazy types is introduced and it is shown how to transform a program logic into an algorithm and how to derive an efficient algorithm or strictness analysis.