Once Upon a Type

David N. Turner, Philip Wadler, Christian Mossin

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract / Description of output

Anumber of useful optimisations are enabled if wecan determine when a value is accessed at most once. We extend the Hindley-Milner type system with uses, yielding a typeinference based program analysis which determines when values are accessed at most once. Our analysis can handle higher-order functions and data structures, and admits principal types for terms. Unlike previous analyses, we prove our analysis sound with respect to call-by-need reduction. Call-by-name reduction does notprovide inaccurate model ofhowoften a value is used during lazy evaluation, since it duplicates work which would actually be shared in a real implementation. Ourtype system caneasily remodified toanalyse usage in a call-by-value language.
Original languageEnglish
Title of host publicationFPCA '95 Proceedings of the seventh international conference on Functional programming languages and computer architecture
Number of pages11
ISBN (Print)0-89791-719-7
Publication statusPublished - 1995


Dive into the research topics of 'Once Upon a Type'. Together they form a unique fingerprint.

Cite this