|
ABSTRACT
We argue that intensional object identity in object-oriented programming languages and databases is best defined operationally by side-effect semantics. A corollary is that "functional" objects have extensional semantics. This model of object identity, which is analogous to the normal forms of relational algebra, provides cleaner semantics for the value-transmission operations and built-in primitive equality predicate of a programming language, and eliminates the confusion surrounding "call-by-value" and "call-by-reference" as well as the confusion of multiple equality predicates.Implementation issues are discussed, and this model is shown to have significant performance advantages in persistent, parallel, distributed and multilingual processing environments. This model also provides insight into the "type equivalence" problem of Algol-68, Pascal and Ada.
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
|
|
 |
2
|
|
| |
3
|
AdaLRM: Reference Manual for the Ada® Programming Language. ANSI/MIL-STD-1815A-1983, U.S. Gov't Printing Office, Wash., DC, 1983.
|
 |
4
|
|
| |
5
|
|
| |
6
|
Alfred V. Aho , Ravi Sethi , Jeffrey D. Ullman, Compilers: principles, techniques, and tools, Addison-Wesley Longman Publishing Co., Inc., Boston, MA, 1986
|
| |
7
|
|
| |
8
|
ANSI-C. Draft Proposed American National Standard Programming Language C. ANSI, New York, 1988.
|
 |
9
|
|
| |
10
|
|
| |
11
|
Atkinson, M.P., Bancilhon, F., DeWitt, D., Dittrick, K., Maier, D., and Zdonik, S. "The Object-Oriented Database System Manifesto". Proc. First Deductive and Object-Oriented Database Conf., Kyoto, Japan, Dec. 1989.
|
| |
12
|
Autodesk. AutoLISP® Release 10 Programmer's Reference. TD111-05.2, Autodesk, Inc., Sausalito, CA, 1988.
|
 |
13
|
|
 |
14
|
|
 |
15
|
|
 |
16
|
|
 |
17
|
|
 |
18
|
|
| |
19
|
Baker90d: Baker, Henry. "The Nimble Type Inferencer for Common Lisp-84". Tech. Rept., Nimble Comp., 1990.
|
 |
20
|
|
 |
21
|
|
 |
22
|
|
 |
23
|
|
 |
24
|
|
| |
25
|
Bawden, A. Pure Scheme emulation of cells from network mail ckca 1988. Obtained from M. Felleisen.
|
 |
26
|
|
| |
27
|
Bloom, Toby. "Immutable Groupings". CLU Design Note 61, MIT LCS, Aug. 16, 1976.
|
 |
28
|
|
| |
29
|
|
 |
30
|
|
 |
31
|
|
| |
32
|
Cohen, J.M., and Cohen, M.J. The Penguin Dictionary of Quotations. Penguin Books, Middlesex, England, 1960.
|
| |
33
|
Cointe, Pierre. "Metaclasses are First Class: the ObjVlisp Model". Proc. OOPSLA '87, Sigplan Notices 22, 12 (Dec. 1987), 156-167.
|
| |
34
|
Digitalk Inc. Smalltalk/V 286 Tutorial and Programming Handbook. Digitalk, Inc., Los Angeles, CA, 1988.
|
| |
35
|
DoD. "STEELMAN": Department of Defense Requirements for High Order Computer Programming Languages, June 1978.
|
| |
36
|
Ershov, A.P. "On Programming of Arithmetic Operations". Doklady, AN USSR 118, 3 (1958), 427-430, transl. Friedman, M.D., CACM 1, 8 (Aug. 1958), 3-6.
|
 |
37
|
|
| |
38
|
Gabriel, R.P. "The Why of Y". ACM Lisp Pointers 2, 2 (Oct.-Dec. 1988), 15-25.
|
 |
39
|
|
| |
40
|
|
| |
41
|
Goto, E. "Monocopy and Associative Algorithms in an Extended Lisp". Univ. of Tokyo, May 1974.
|
| |
42
|
Goto, E., and Kanada, Y. "Recursive Hashed Data Structures with Applications to Polynomial Manipulations". SYMSAC 76.
|
| |
43
|
|
| |
44
|
Gunn, H.I.E., and Morrison, R. "On the Implementation of Constants". Info. Proc. Let. 9, 1 (1979), 1-4.
|
 |
45
|
|
 |
46
|
|
 |
47
|
|
| |
48
|
Harper, R., et al. "Standard ML". Tech. Rept. ECS-LFCS-86-2, Comp. Sci. Dept., Edinburgh, UK, March, 1986.
|
 |
49
|
|
 |
50
|
|
 |
51
|
|
| |
52
|
Hewitt, Carl E., and Baker, Henry. "Actors and Continuous Functionals". Proc. IFIP Working Conf. on Formal Descr. of Progr. Concepts, Aug. 1977, in Neuhold, Erich eed., Formal Description of Programming Concepts. North-Holland, Amsterdam, 1978, 367-390.
|
| |
53
|
Hilden, J. "Elimination of Recursive Calls using a Small Table of 'Randomly' Selected Function Values". BIT 16 (1978), 60-73.
|
| |
54
|
|
 |
55
|
|
 |
56
|
|
 |
57
|
|
| |
58
|
Hughes, G.E., and Cresswell, M.J. An Introduction to Modal Logic. Methuen and Co., London, 1968.
|
| |
59
|
|
| |
60
|
Kahan, W. "Branch Cuts for Complex Elementary Functions, or Much Ado about Nothing's Sign Bit". Proc. Jt. IMA/SIAM Conf. on The State of the Art in Numerical Analysis, U. Birmingham, April 1986, Iserles, A., and Powell, M.J.D., Eds., Clarendon Press, Oxford, 1987.
|
| |
61
|
Kale, L.V. "The Chare Kernel Parallel Programming System". Int'l. Conf. on Parallel Programming, Aug. 1990.
|
| |
62
|
Katz, Morris J. ParaTran: A Transparent, Transaction Based Runtime Mechanism for Parallel Execution of Scheme. M.S. Thesis, MIT, Camb., MA, June 1986.
|
| |
63
|
Keller, R.M., and Lindstrom, G. "Toward Function-Based Distributed Database Systems". Tech. Rep. 82-100, Dept. of Computer Sci., U. Utah, Jan. 1982, 37p.
|
| |
64
|
Kent, William. "A rigorous model of object reference, identity, and existence". J. O.-O. Progr., (June 1991), 28-36.
|
 |
65
|
|
| |
66
|
|
| |
67
|
King, Roger. "My Cat is Object-Oriented". in [Kim89], 23-30.
|
 |
68
|
|
 |
69
|
|
 |
70
|
Norman Adams , David Kranz , Richard Kelsey , Jonathan Rees , Paul Hudak , James Philbin, ORBIT: an optimizing compiler for scheme, Proceedings of the 1986 SIGPLAN symposium on Compiler construction, p.219-233, June 25-27, 1986, Palo Alto, California, United States
|
| |
71
|
Krasner, Glenn, ed. Smalltalk-80: Bits of History, Words of Advice. Addison-Wesley, Reading, MA, 1983.
|
| |
72
|
|
 |
73
|
|
| |
74
|
|
 |
75
|
|
 |
76
|
|
 |
77
|
|
| |
78
|
Lomet, David B. "Objects and Values: The Basis of a Storage Model for Procedural Languages". IBM J. Res. & Dev. 20, 2 (March 1976), 157-167.
|
| |
79
|
Lucassen, John M. Types and Effects: Towards the Integration of Functional and Imperative Programming. Ph.D. Thesis, also MIT/LCS/TR-408, MIT, 1987, 153p.
|
 |
80
|
|
 |
81
|
|
 |
82
|
|
 |
83
|
|
| |
84
|
|
 |
85
|
|
| |
86
|
|
| |
87
|
Milner, Robin. "A Theory of Type Polymorphism in Programming". JCSS 17 (1978), 348-375.
|
 |
88
|
|
| |
89
|
Moon, David A. MacLisp Reference Manual, Rev. 0. Proj. MAC, MIT, April 1974.
|
 |
90
|
|
| |
91
|
Morris, J.H. Lambda-Calculus Models of Programming Languages. Ph.D. Thesis, MIT, 1968.
|
| |
92
|
Moses, Joel. "The Function of FUNCTION in Lisp". Memo 199, MIT AI Lab., Camb., MA, June 1970.
|
| |
93
|
Mostow, J., and Cohen, D. "Automating Program Speedup by Deciding What to Cache". Proc. IJCAI-85, L.A., CA, Aug. 1985, 165-172.
|
 |
94
|
|
 |
95
|
|
| |
96
|
|
| |
97
|
Pacini, G., and Simi, M. "Testing Equality in Lisp-like Environments". BIT 18 (1978), 334-341.
|
| |
98
|
Padget, Julian, and Nuyens, Greg. The EuLisp Definition, Version 0.6. Univ. of Bath, Bath, Eng., July, 1989.
|
| |
99
|
Plotkin, G.D. "Call-by-name, call-by-value, and the lambda-calculus". Theor. Comput. Sci. 1 (1975), 125-159.
|
| |
100
|
Pratt, V.R. "Process Logic". ACM POPL 6, (1979), 93-100.
|
 |
101
|
|
 |
102
|
|
 |
103
|
|
 |
104
|
|
| |
105
|
Robinson, J.A., and Sibert, E.E. "LOGLISP: Motivation, Design, and Implementation". In Clark, K.L., and Tamlund (eds), Logic Programming, Academic Press, 1982, 299-314.
|
 |
106
|
|
| |
107
|
Sandewall, Erik. "A Proposed Solution to the FUNARG Problem". 6.894 course notes, MIT AI Lab., 1974. This solution was used in the MIT Lisp Machine [Greenblatt].
|
| |
108
|
Sandewall, Erik. "Ideas about Management of Lisp Data Bases". AI Memo 332, MIT AI Lab., May 1975; also Proc. IJCAI 4 (1975), 585-592.
|
 |
109
|
|
| |
110
|
Schwartz, J. T. "Optimization of very high level languages-I. Value transmission and its corollaries". J. Computer Lang. 1 (1975), 161-194.
|
| |
111
|
Schwartz, J.T. "Optimization of very high level languages--II. Deducing relationships of inclusion and membership". J. Computer Lang. 1, 3 (1975), 197-218.
|
 |
112
|
|
| |
113
|
|
 |
114
|
|
| |
115
|
Steele, G.L. "Fast Arithmetic in Maclisp". Proc. 1977 Macsyma User's Conf., NASA Sci. and Tech. Info. Off. (Wash., DC, July 1977), 215-224. Also AI Memo 421, MIT AI Lab., Camb., MA.
|
| |
116
|
|
| |
117
|
|
| |
118
|
|
| |
119
|
|
 |
120
|
Mark Swanson , Robert Kessler , Gary Lindstrom, An implementation of portable standard LISP on the BBN butterfly, Proceedings of the 1988 ACM conference on LISP and functional programming, p.132-142, July 25-27, 1988, Snowbird, Utah, United States
[doi> 10.1145/62678.62694]
|
 |
121
|
|
| |
122
|
Teitelman, Warren. Interlisp Reference Manual. Xerox Palo Alto Research Center, 1974.
|
| |
123
|
Teitelman, W., and Masinter, L. "The Interlisp programming environment". Computer 14, 4 (Apr. 1981), 25-34.
|
 |
124
|
|
| |
125
|
Turner, D.A. "A new implementation technique for applicative languages". SW--Pract. & Exper. 9 (1979), 31-49.
|
| |
126
|
|
 |
127
|
|
| |
128
|
van Wijngaarden, A., et al. "Revised Report on the Algorithmic Language Algol 68". ACM Sigplan Not. 12, 5 (May 1977), 1-70.
|
| |
129
|
Verity, J.W., and Schwartz, E.I. "Software Made Simple-Will Object-Oriented Programming Transform the Computer Industry?". Business Week cover story, Sept. 30, 1991, 92-100.
|
 |
130
|
|
 |
131
|
|
 |
132
|
|
| |
133
|
Welsh, J., et al. "Ambiguities and insecurities in Pascal". SW-Prac. & Exper. 7, 6 (1977), 685-696.
|
| |
134
|
Wiebe, Douglas. "A Distributed Repository for Immutable Persistent Objects". Proc. OOPSLA'86, Sigplan Not. 21, 11 (Nov. 1986), 453-465.
|
| |
135
|
|
 |
136
|
|
| |
137
|
Young, J.W.A., ed. Monographs on Topics of Modern Mathematics Relevant to the Elementary Field. Longmans, Green & Co., 1911. Reprinted by Dover Publications, 1955.
|
|