Proceedings Article10.1145/800237.807127
Programming without pointer variables
Richard B. Kieburtz
- 01 Mar 1976
- Vol. 11, Iss: 2, pp 95-107
30
TL;DR: This paper considers alternatives to the use of pointer variables in programming, and one of these alternatives is the inclusion of a class of data abstractions based on recursively defined data types.
read more
Abstract: The presence of pointer variables in high level programming languages constitutes an artifact originally introduced to support the representation of recursive data structures. Programming practice has come to rely on pointer variables for their originally intended use, and for several others as well. Their use adds to the complexity of stating algorithms by forcing one to conceptualize data representations in which storage addressing is made manifest. In addition, the use of pointer variables allows one to refer to a common data object by a multiplicity of names, a phenomenon we call the alias variable problem, Alias variables make the verification of program behavior substanially more difficult, and frustrate the goals of modular decomposition.In this paper, we consider alternatives to the use of pointer variables in programming. One of these alternatives is the inclusion of a class of data abstractions based on recursively defined data types. The representational power of the proposed data types is characterized formally, and some issues of implementation and efficiency of programs are discussed.
read more
Chat with Paper
AI Agents for this Paper
Find similar papers on Google Scholar, PubMed and Arxiv
Write a critical review of this paper
Analyze citations of this paper to find unaddressed research gaps
Citations
“Use-once” variables and linear objects: storage management, reflection and multi-threading
TL;DR: Programming languages should have 'use-once' variables in addition to the usual 'multiple-use' variables, which are bound to linear objects and allow for the safe/controlled use of reified language implementation objects like single-use continuations.
87
Data structured programming: Program design without arrays and pointers
Harlan D. Mills,R. C. Linger +1 more
TL;DR: It can be shown, for example, that any functional result achievable in a programming language with gotos can be achieved in that same language without gotos if sequence, selection, and iteration control constructs are present.
47
Minimizing reference count updating with deferred and anchored pointers for functional data structures
TL;DR: Reference counting can be an attractive form of dynamic storage management that recovers storage promptly and (with a garbage stack instead of a free list) it can be made "real-time"—i.e., all accesses can be performed in constant time.
38
Specification and Verification with References
Bruce W. Weide,Wayne D. Heym +1 more
- 01 Jan 2001
TL;DR: Making pointers/references visible to component clients needlessly complicates specification and verification, and the issues involved are the added difficulty for clients in understanding component specifications, and in reasoning about client program behavior.
Locations considered unnecessary
TL;DR: Using the “mathematical semantics” of Scott and Strachey, it is shown that reference parameters and Algol scope rules for procedures, two constructs requiring the notion of reference, can be replaced with alternative constructs not requiring locations in the definition.
19
References
Letters to the editor: go to statement considered harmful
TL;DR: My considerations are that, although the programmer's activity ends when he has constructed a correct program, the process taking place under control of his program is the true subject matter of his activity, and that his intellectual powers are rather geared to master static relations and his powers to visualize processes evolving in time are relatively poorly developed.
1K
•Book
Pascal user manual and report
Kathleen Jensen,Niklaus Wirth,P. Brinch Hansen,D. Gries,C. Moler,G. Seegmüller,N. Wirth,G. Goos,J. Hartmanis +8 more
- 01 Jan 1975
TL;DR: This manual is directed to those who have previously acquired some programming skill and is based on The Programming Language Pascal (Revised Report)--the basic definition of Pascal and concise reference manual for the experienced Pascal programmer.
731
Hints on programming language design.
C. A. R. Hoare
- 01 Dec 1973
TL;DR: The view that a programming language is a tool which should assist the programmer in the most difficult aspects of his art, namely program design, documentation, and debugging is presented.
A contribution to the development of ALGOL
Niklaus Wirth,C. A. R. Hoare +1 more
TL;DR: The main changes were: (1) verbal improvements and clarifications, many of which were kindly suggested by recipients of the original draft; (2) additional or altered language features, in particular the replacement of tree structures by records as proposed by the second author.
218
Related Papers (5)
David G. Clarke,John Potter,James Noble +2 more
- 01 Oct 1998
Bruce W. Weide,Wayne D. Heym +1 more
- 01 Jan 2001