Skip to main content

Ensuring the Productivity of Infinite Structures

Telford, Alastair J. and Turner, David A. (1997) Ensuring the Productivity of Infinite Structures. Technical report. University of Kent, Canterbury, Kent, CT2 7NF, UK (KAR id:21461)


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.

Item Type: Monograph (Technical report)
Additional information: This technical report has been revised (March 1998). A shorter version of this paper was presented at AMAST '97.
Uncontrolled keywords: Functional programming, codata, productivity, abstract interpretation
Subjects: Q Science > QA Mathematics (inc Computing science) > QA 76 Software, computer programming,
Divisions: Faculties > Sciences > School of Computing > Theoretical Computing Group
Depositing User: Mark Wheadon
Date Deposited: 01 Aug 2009 17:19 UTC
Last Modified: 28 May 2019 14:00 UTC
Resource URI: (The current URI for this page, for reference purposes)
  • Depositors only (login required):


Downloads per month over past year