School of Computing

Ensuring the Productivity of Infinite Structures

Alastair Telford and David Turner

Technical Report 14-97, The Computing Laboratory, University of Kent at Canterbury, Canterbury, Kent, CT2 7NF, UK, September 1997 This technical report has been revised (March 1998). A shorter version of this paper was presented at AMAST '97.

Abstract

It is our aim to produce an elementary strong functional programming (ESFP) system. To be useful, ESFP should include structures such as streams which can be computationally unwound infinitely often. We describe a syntactic analysis to ensure that infinitely proceeding structures, which we shall term codata , are productive. This analysis is an extension of the check for guardedness that has been used with definitions over coinductive types in Martin-Lof's type theory and in the calculus of constructions. Our analysis is presented as a form of abstract interpretation that allows a wider syntactic class of corecursive definitions to be recognised as productive than in previous work. Thus programmers will have fewer restrictions on their use of infinite streams within a strongly normalizing functional language.

Download publication 152 kbytes

Bibtex Record

@techreport{551,
author = {Alastair Telford and David Turner},
title = {Ensuring the {P}roductivity of {I}nfinite {S}tructures},
month = {September},
year = {1997},
pages = {182-196},
keywords = {determinacy analysis, Craig interpolants},
note = {This technical report has been revised (March 1998). A shorter version of this paper was presented at AMAST '97.},
doi = {},
url = {http://www.cs.kent.ac.uk/pubs/1997/551},
    address = {Canterbury, Kent, CT2 7NF, UK},
    institution = {The Computing Laboratory, University of Kent at Canterbury},
    number = {14-97},
}

School of Computing, University of Kent, Canterbury, Kent, CT2 7NF

Enquiries: +44 (0)1227 824180 or contact us.

Last Updated: 21/03/2014