Skip to main content
Kent Academic Repository

Ensuring Streams Flow

Telford, Alastair J. and Turner, David A. (1997) Ensuring Streams Flow. In: Johnson, Michael, ed. Algebraic Methodology and Software Technology 6th International Conference. Lecture Notes in Computer Science . Springer, Berlin, Germany, pp. 509-523. ISBN 978-3-540-63888-9. E-ISBN 978-3-540-69661-2. (doi:10.1007/BFb0000493) (KAR id:21427)

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.

Item Type: Book section
DOI/Identification number: 10.1007/BFb0000493
Uncontrolled keywords: Functional Programming, Infinite Structures, Abstract Interpretation
Subjects: Q Science > QA Mathematics (inc Computing science) > QA 76 Software, computer programming,
Divisions: Divisions > Division of Computing, Engineering and Mathematical Sciences > School of Computing
Depositing User: David Turner
Date Deposited: 02 Aug 2009 23:18 UTC
Last Modified: 05 Nov 2024 09:59 UTC
Resource URI: https://kar.kent.ac.uk/id/eprint/21427 (The current URI for this page, for reference purposes)

University of Kent Author Information

Turner, David A..

Creator's ORCID:
CReDIT Contributor Roles:
  • Depositors only (login required):

Total unique views for this document in KAR since July 2020. For more details click on the image.