A facility for defining and manipulating generalized data structures
- 1 December 1977
- journal article
- Published by Association for Computing Machinery (ACM) in ACM Transactions on Database Systems
- Vol. 2 (4) , 370-406
- https://doi.org/10.1145/320576.320591
Abstract
A data structure definition facility (DSDF) is described that provides definitions for several primitive data types, homogeneous and heterogeneous arrays, cells, stacks, queues, trees, and general lists. Each nonprimitive data structure consists of two separate entities—a head and a body. The head contains the entry point(s) to the body of the structure; by treating the head like a cell, the DSDF operations are capable of creating and manipulating very general data structures. A template structure is described that permits data structures to share templates. The primary objectives of the DSDF are: (1) to develop a definition facility that permits the programmer to explicitly define and manipulate generalized data structures in a consistent manner, (2) to detect mistakes and prevent the programmer from creating (either inadvertently or intentionally) undesirable (or illegal) data structures, (3) to provide a syntactic construction mechanism that separates the implementation of a data structure from its use in the program in which it is defined, and (4) to facilitate the development of reliable software.Keywords
This publication has 32 references indexed in Scilit:
- An assessment of the programming language PASCALACM SIGPLAN Notices, 1975
- The impact of language design on the production of reliable softwareACM SIGPLAN Notices, 1975
- Structured data structuresCommunications of the ACM, 1974
- BLISSCommunications of the ACM, 1971
- Toward an understanding of data structuresCommunications of the ACM, 1971
- List tracing in systems allowing multiple cell-typesCommunications of the ACM, 1971
- A language extension for graph processing and its formal semanticsCommunications of the ACM, 1971
- A language for treating graphsCommunications of the ACM, 1970
- Programming Languages: GPL, a truly general purpose languageCommunications of the ACM, 1968
- Structure of a LISP system using two-level storageCommunications of the ACM, 1967