Recursive Data Structures

Abstract

The power and convenience of a programming language may be enhanced for certain applications by permitting data structures to be defined by recursion. The paper suggests a pleasing notation by which such structures can be declared and processed; it gives the axioms which specify their properties, and suggests an efficient implementation method. It shows how a recursive data structure may be used to represent another data type, for example, a set. It then discusses two ways in which significant gains in efficiency can be made by selective updating of structures, and gives the relevant proof rules and hints for implementation. It is shown by examples that a certain range of applications can be efficiently programmed, without introducing the low-level concept of a reference into a high-level programming language.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Oct 01, 1973
Accession Number
AD0772509

Entities

People

  • C. A. R. Hoare

Organizations

  • Stanford University

Tags

Communities of Interest

  • Energy and Power Technologies

DTIC Thesaurus Topics

  • Abstracts
  • Artificial Intelligence
  • Computer Programming
  • Computer Science
  • Computers
  • Efficiency
  • Generators
  • High Level Languages
  • Language
  • Linguistics
  • Machine Languages
  • Notation
  • Object Code
  • Optimization
  • Programming Languages
  • Recursive Functions
  • Structured Programming

Readers

  • Computational Linguistics
  • Systems Analysis and Design