ACM Home Page
Please provide us with feedback. Feedback
Equal rights for functional objects or, the more things change, the more they are the same
Full text PdfPdf (2.61 MB)
Source ACM SIGPLAN OOPS Messenger archive
Volume 4 ,  Issue 4  (October 1993) table of contents
Pages: 2 - 27  
Year of Publication: 1993
ISSN:1055-6400
Author
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 9,   Downloads (12 Months): 59,   Citation Count: 10
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/165593.165596
What is a DOI?

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
 
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
 
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
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.

CITED BY  10