Letters to the editor: go to statement considered harmful
Communications of the ACM
A contribution to the development of ALGOL
Communications of the ACM
PASCAL user manual and report
SIMULA 67 common base language, (Norwegian Computing Center. Publication)
SIMULA 67 common base language, (Norwegian Computing Center. Publication)
Copying and Swapping: Influences on the Design of Reusable Software Components
IEEE Transactions on Software Engineering
Lively linear Lisp: “look ma, no garbage!”
ACM SIGPLAN Notices
Safe and leakproof resource management using Ada83 limited types
ACM SIGAda Ada Letters
The Boyer benchmark meets linear logic
ACM SIGPLAN Lisp Pointers
A facility for defining and manipulating generalized data structures
ACM Transactions on Database Systems (TODS)
POPL '77 Proceedings of the 4th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Simplifying reasoning about objects with Tako
Proceedings of the 2006 conference on Specification and verification of component-based systems
Hi-index | 0.00 |
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.