|
ABSTRACT
In programming languages which permit both assignment and procedures, distinct identifiers can represent data structures which share storage or procedures with interfering side effects. In addition to being a direct source of programming errors, this phenomenon, which we call interference can impact type structure and parallelism. We show how to eliminate these difficulties by imposing syntactic restrictions, without prohibiting the kind of constructive interference which occurs with higher-order procedures or SIMULA classes. The basic idea is to prohibit interference between identifiers, but to permit interference among components of collections named by single identifiers.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
Wirth, N. The Programming Language PASCAL. Acta Informatica 1, (1971), pp. 35-63.
|
| |
2
|
|
| |
3
|
Hoare, C. A. R. Towards a Theory of Parallel Programming. In Operating Systems Techniques, Academic Press, New York, 1972.
|
 |
4
|
|
 |
5
|
|
| |
6
|
Hoare, C. A. R. Procedures and Parameters: An Axiomatic Approach. In Symposium on the Semantics of Algorithmic Languages (ed. E. Engeler). Springer, Berlin-Heidelberg-New York, 1971.
|
 |
7
|
G. J. Popek , J. J. Horning , B. W. Lampson , J. G. Mitchell , R. L. London, Notes on the design of Euclid, Proceedings of an ACM conference on Language design for reliable software, p.11-18, March 28-30, 1977, Raleigh, North Carolina
|
| |
8
|
Dahl, O. -J. Hierarchical Program Structures. In Structured Programming, Academic Press, New York 1972.
|
| |
9
|
Curry, H. B., and Feys, R. Combinatory Logic, Volume I. North-Holland, Amsterdam 1958.
|
 |
10
|
|
 |
11
|
|
| |
12
|
Friedman, D. P., and Wise, D. S. CONS Should Not Evaluate its Arguments. Third Int'l Colloquium on Automata, Languages, and Programming, Edinburgh University Press 1976, pp. 257-284.
|
| |
13
|
Hoare, C. A. R. Proof of Correctness of Data Representations. Acta Informatica 1, pp. 271-281 (1972).
|
| |
14
|
Reynolds, J. C. User-Defined Types and Procedural Data Structures as Complementary Approaches to Data Abstraction. In New Directions in Algorithmic Languages 1975, ed. S. A. Schuman, I.R.I.A. 1975, pp. 157-168.
|
CITED BY 49
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Karl Crary , David Walker , Greg Morrisett, Typed memory management in a calculus of capabilities, Proceedings of the 26th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, p.262-275, January 20-22, 1999, San Antonio, Texas, United States
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|