{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2023,9,4]],"date-time":"2023-09-04T21:10:56Z","timestamp":1693861856695},"reference-count":46,"publisher":"Association for Computing Machinery (ACM)","issue":"2","content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Program. Lang. Syst."],"published-print":{"date-parts":[[1989,4]]},"abstract":"Designing data types in isolation is fundamentally different from designing them for integration into communities of data types, especially when inheritance is a fundamental issue. Moreover, we can distinguish between the design of families\u2014integrated types that are variations of each other\u2014and more general communities where totally different but cohesive collections of types support specific applications (e.g., a compiler). We are concerned with the design of integrated families of data types as opposed to individual data types; that is, on the issues that arise when the focus is intermediate between the design of individual data types and more general communities of data types. We argue that design at this level is not adequately served by systems providing only class-based inheritance hierarchies and that systems which additionally provide a coupled subtype specification hierarchy are still not adequate. We propose a system that provides an unlimited number of uncoupled specification hi\nerarchies and illustrate it with three: a subtype hierarchy, a specialization\/generalization hierarchy, and a like hierarchy. We also resurrect a relatively unknown Smalltalk design methodology that we call programming-by-exemplars and argue that it is an important addition to a designer's grab bag of techniques. The methodology is used to show that the subtype hierarchy must be decoupled from the inheritance hierarchy, something that other researchers have also suggested. However, we do so in the context of exemplar-based systems to additionally show that they can already support the extensions required without modification and that they lead to a better separation between users and implementers, since classes and exemplars can be related in more flexible ways. We also suggest that class-based systems need the notion of private types if they are to surmount their current limitations. Our points are made in the guise of designing a family of List data types. Among these is a new variety of lists that have\nnever been previously published: prefix-sharing lists. We also argue that there is a need for familial classes to serve as an intermediary between users and the members of a family.<\/jats:p>","DOI":"10.1145\/63264.63265","type":"journal-article","created":{"date-parts":[[2002,10,7]],"date-time":"2002-10-07T13:52:47Z","timestamp":1033998767000},"page":"212-248","update-policy":"http:\/\/dx.doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":27,"title":["Designing families of data types using exemplars"],"prefix":"10.1145","volume":"11","author":[{"given":"Wilf R.","family":"LaLonde","sequence":"first","affiliation":[{"name":"Carleton Univ., Ottawa, Canada"}]}],"member":"320","published-online":{"date-parts":[[1989,4]]},"reference":[{"key":"e_1_2_1_1_2","doi-asserted-by":"crossref","DOI":"10.7551\/mitpress\/1086.001.0001","volume-title":"Actors: A Model of Concurrent Computation in Distributed Systems","author":"AGHA G.","year":"1986","unstructured":"AGHA , G. Actors: A Model of Concurrent Computation in Distributed Systems . MIT Press , Cambridge, Mass ., 1986 . AGHA, G. Actors: A Model of Concurrent Computation in Distributed Systems. MIT Press, Cambridge, Mass., 1986."},{"key":"e_1_2_1_2_2","first-page":"281","volume-title":"European Conference on Object-Oriented Programming '87","author":"AMERICA P.","year":"1987","unstructured":"AMERICA , P. Inheritance and subtyping in a parallel object-oriented language . In European Conference on Object-Oriented Programming '87 ( Paris , June 1987 ), 281 - 289 . AMERICA, P. Inheritance and subtyping in a parallel object-oriented language. In European Conference on Object-Oriented Programming '87 (Paris, June 1987), 281-289."},{"key":"e_1_2_1_3_2","first-page":"78","volume-title":"Languages and Applications '86 (Portland, Ore.","author":"BLACK A.","year":"1986","unstructured":"BLACK , A. , HUTCHINSON , N. , JUL , E. , AND LEVY , H. Object structure in the Emerald system. In Object-Oriented Programming Systems , Languages and Applications '86 (Portland, Ore. , Sept. 1986 ), 78 - 86 . 10.1145\/28697.28706 BLACK, A., HUTCHINSON, N., JUL, E., AND LEVY, H. Object structure in the Emerald system. In Object-Oriented Programming Systems, Languages and Applications '86 (Portland, Ore., Sept. 1986), 78-86. 10.1145\/28697.28706"},{"key":"e_1_2_1_5_2","first-page":"17","volume-title":"Languages and Applications '86 (Portland, Ore.","author":"BOBROW D. G.","year":"1986","unstructured":"BOBROW , D. G. , KAHN , K. , KICZALES , G. , MASINTER , L. , STEFIK , M. , AND ZDYBEL , F. CommonLoops : Merging common Lisp and object-oriented programming. In Object-Oriented Programming Systems , Languages and Applications '86 (Portland, Ore. , Sept. 1986 ), 17 - 29 . 10.1145\/28697.28700 BOBROW, D. G., KAHN, K., KICZALES, G., MASINTER, L., STEFIK, M., AND ZDYBEL, F. CommonLoops: Merging common Lisp and object-oriented programming. In Object-Oriented Programming Systems, Languages and Applications '86 (Portland, Ore., Sept. 1986), 17-29. 10.1145\/28697.28700"},{"key":"e_1_2_1_6_2","doi-asserted-by":"publisher","DOI":"10.1145\/357146.357147"},{"key":"e_1_2_1_7_2","first-page":"36","volume-title":"Proceedings of the ACM\/IEEE Fall Joint Computer Conference (Dallas, Tex.","author":"BORNING","year":"1986","unstructured":"BORNING , g. Classes versus prototypes in object-oriented languages . In Proceedings of the ACM\/IEEE Fall Joint Computer Conference (Dallas, Tex. , Nov. 1986 ), 36 - 40 . BORNING, g. Classes versus prototypes in object-oriented languages. In Proceedings of the ACM\/IEEE Fall Joint Computer Conference (Dallas, Tex., Nov. 1986), 36-40."},{"key":"e_1_2_1_8_2","volume-title":"Mass.","author":"BUDD T.","year":"1987","unstructured":"BUDD , T. A Little SmaUtalh. Addison-Wesley, Reading , Mass. , 1987 . BUDD, T. A Little SmaUtalh. Addison-Wesley, Reading, Mass., 1987."},{"key":"e_1_2_1_9_2","first-page":"21","volume-title":"ACM SIGOA Conference on Office Information Systems","author":"BYRD R. J.","year":"1982","unstructured":"BYRD , R. J. , SMITH , S. E. , AND DE JONG , S.P. An actor-based programming system . In ACM SIGOA Conference on Office Information Systems ( Univ. of Pennsylvania, Philadelphia , June 1982 ), 21 - 23 . 10.1145\/800210.806479 BYRD, R. J., SMITH, S. E., AND DE JONG, S.P. An actor-based programming system. In ACM SIGOA Conference on Office Information Systems (Univ. of Pennsylvania, Philadelphia, June 1982), 21-23. 10.1145\/800210.806479"},{"key":"e_1_2_1_10_2","first-page":"156","volume-title":"Languages and Applications '87 (Orlando, Fla.","author":"COINTE P.","year":"1987","unstructured":"COINTE , P. Metaclasses are first class: The ObjVlisp model. In Object-Oriented Programming Systems , Languages and Applications '87 (Orlando, Fla. , Oct. 1987 ), 156 - 167 . 10.1145\/38765.38822 COINTE, P. Metaclasses are first class: The ObjVlisp model. In Object-Oriented Programming Systems, Languages and Applications '87 (Orlando, Fla., Oct. 1987), 156-167. 10.1145\/38765.38822"},{"key":"e_1_2_1_11_2","volume-title":"Object-Oriented Programming: An Evolutionary Approach","author":"B.","year":"1986","unstructured":"Cox, B. Object-Oriented Programming: An Evolutionary Approach . Addison-Wesley , Reading, Mass ., 1986 . Cox, B. Object-Oriented Programming: An Evolutionary Approach. Addison-Wesley, Reading, Mass., 1986."},{"key":"e_1_2_1_12_2","doi-asserted-by":"crossref","first-page":"50","DOI":"10.1109\/MS.1984.233398","article-title":"An evolutionary change in programming technology","volume":"1","year":"1984","unstructured":"Cox, B. Message\/object programming : An evolutionary change in programming technology . IEEE Softw. I , 1 ( Jan. 1984 ), 50 - 61 . Cox, B. Message\/object programming: An evolutionary change in programming technology. IEEE Softw. I, 1 (Jan. 1984), 50-61.","journal-title":"IEEE Softw. I"},{"key":"e_1_2_1_13_2","doi-asserted-by":"crossref","first-page":"80","DOI":"10.1109\/TSE.1976.233534","article-title":"Programming-in-the-large versus programming-in-the-small","author":"DEREMER F.","year":"1976","unstructured":"DEREMER , F. , AND KRON , $ . Programming-in-the-large versus programming-in-the-small . IEEE Trans. Softw. Eng. SE-2 ( June 1976 ), 80 - 86 . DEREMER, F., AND KRON, $. Programming-in-the-large versus programming-in-the-small. IEEE Trans. Softw. Eng. SE-2 (June 1976), 80-86.","journal-title":"IEEE Trans. Softw. Eng. SE-2"},{"key":"e_1_2_1_14_2","volume-title":"Proceedings of 1984 Asilomar FORML Conference","author":"DUFF C.","year":"1984","unstructured":"DUFF , C. Neon--Extending Forth in new directions . In Proceedings of 1984 Asilomar FORML Conference , 1984 . DUFF, C. Neon--Extending Forth in new directions. In Proceedings of 1984 Asilomar FORML Conference, 1984."},{"key":"e_1_2_1_15_2","first-page":"224","volume-title":"Languages and Applications '86 (Portland, Ore.","author":"FUKUNAGA K.","year":"1986","unstructured":"FUKUNAGA , K. , AND H1 ROSE , S. Experience with a Prolog-based object-oriented language. In Object-Oriented Programming Systems , Languages and Applications '86 (Portland, Ore. , Sept. 1986 ), 224 - 231 . 10.1145\/28697.28719 FUKUNAGA, K., AND H1ROSE, S. Experience with a Prolog-based object-oriented language. In Object-Oriented Programming Systems, Languages and Applications '86 (Portland, Ore., Sept. 1986), 224-231. 10.1145\/28697.28719"},{"key":"e_1_2_1_16_2","volume-title":"SmaUtalk-80: The Language and Its Implementation","author":"GOLDBERG A.","year":"1983","unstructured":"GOLDBERG , A. , AND ROBSON , D. SmaUtalk-80: The Language and Its Implementation . Addison- Wesley , Reading, Mass ., 1983 . GOLDBERG, A., AND ROBSON, D. SmaUtalk-80: The Language and Its Implementation. Addison- Wesley, Reading, Mass., 1983."},{"key":"e_1_2_1_17_2","volume-title":"Smalltalh-80: The Interactive Programming Environment","author":"GOLDBERG A.","year":"1984","unstructured":"GOLDBERG , A. Smalltalh-80: The Interactive Programming Environment . Addison-Wesley , Reading, Mass ., 1984 . GOLDBERG, A. Smalltalh-80: The Interactive Programming Environment. Addison-Wesley, Reading, Mass., 1984."},{"key":"e_1_2_1_18_2","first-page":"23","volume-title":"European Conference on Object-Oriented Programming '87","author":"HALBERT D.","year":"1987","unstructured":"HALBERT , D. , AND O'BRIEN , P. Using types and inheritance in object-oriented languages . In European Conference on Object-Oriented Programming '87 ( Paris , June 1987 ), 23 - 34 . HALBERT, D., AND O'BRIEN, P. Using types and inheritance in object-oriented languages. In European Conference on Object-Oriented Programming '87 (Paris, June 1987), 23-34."},{"key":"e_1_2_1_19_2","volume-title":"Using types and inheritance in object-oriented programming","author":"HALBERT D.","year":"1987","unstructured":"HALBERT , D. , AND O'BRIEN , P. Using types and inheritance in object-oriented programming . IEEE Softw . ( Sept. 1987 ), 71-79. HALBERT, D., AND O'BRIEN, P. Using types and inheritance in object-oriented programming. IEEE Softw. (Sept. 1987), 71-79."},{"key":"e_1_2_1_20_2","first-page":"347","volume-title":"Languages and Applications '86 (Portland, Ore.","author":"INGALLS D. H.","year":"1986","unstructured":"INGALLS , D. H. H. A simple technique for handling multiple polymorphism. In Object-Oriented Programming Systems , Languages and Applications '86 (Portland, Ore. , Sept. 1986 ), 347 - 349 . 10.1145\/28697.28732 INGALLS, D. H.H. A simple technique for handling multiple polymorphism. In Object-Oriented Programming Systems, Languages and Applications '86 (Portland, Ore., Sept. 1986), 347-349. 10.1145\/28697.28732"},{"key":"e_1_2_1_21_2","volume-title":"A Taste of Smalltalh","author":"KAEHLER T.","year":"1986","unstructured":"KAEHLER , T. , AND PATTERSON , D. A Taste of Smalltalh . Norton , New York , 1986 . KAEHLER, T., AND PATTERSON, D. A Taste of Smalltalh. Norton, New York, 1986."},{"key":"e_1_2_1_22_2","volume-title":"Words of Advice","author":"KRASNER G.","year":"1983","unstructured":"KRASNER , G. SmaUtalk-80: Bits of History , Words of Advice . Addison-Wesley , Reading, Mass ., 1983 . KRASNER, G. SmaUtalk-80: Bits of History, Words of Advice. Addison-Wesley, Reading, Mass., 1983."},{"key":"e_1_2_1_23_2","volume-title":"Smallworld--An object-based programming system. IBM Res. Rep. RC-9022","author":"LAFF M.R.","year":"1981","unstructured":"LAFF , M.R. Smallworld--An object-based programming system. IBM Res. Rep. RC-9022 , IBM Thomas J. Watson Research Center, Yorktown Heights , N.Y. , 1981 . LAFF, M.R. Smallworld--An object-based programming system. IBM Res. Rep. RC-9022, IBM Thomas J. Watson Research Center, Yorktown Heights, N.Y., 1981."},{"key":"e_1_2_1_25_2","first-page":"322","volume-title":"Languages and Applications '86 (Portland, Ore.","author":"LALONDE W. R.","year":"1986","unstructured":"LALONDE , W. R. , THOMAS , D. A. , AND PUGH , J.R. An exemplar based Smalltalk. In Object- Oriented Programming Systems , Languages and Applications '86 (Portland, Ore. , Sept. 1986 ), 322 - 330 . 10.1145\/28697.28729 LALONDE, W. R., THOMAS, D. A., AND PUGH, J.R. An exemplar based Smalltalk. In Object- Oriented Programming Systems, Languages and Applications '86 (Portland, Ore., Sept. 1986), 322-330. 10.1145\/28697.28729"},{"key":"e_1_2_1_27_2","first-page":"30","volume-title":"Languages and Applications '86 (Portland, Ore.","author":"ANG Z.","year":"1986","unstructured":"r ANG , $. Z. , AND PEARLMUTTER , $. A. Oaklisp : An object-oriented scheme with first class types. In Object-Oriented Programming Systems , Languages and Applications '86 (Portland, Ore. , Sept. 1986 ), 30 - 37 . 10.1145\/28697.28701 rANG, $. Z., AND PEARLMUTTER, $. A. Oaklisp: An object-oriented scheme with first class types. In Object-Oriented Programming Systems, Languages and Applications '86 (Portland, Ore., Sept. 1986), 30-37. 10.1145\/28697.28701"},{"key":"e_1_2_1_28_2","volume-title":"A preview of Act 1. MIT AI Lab. Memo","author":"LIEBERMAN H.","year":"1981","unstructured":"LIEBERMAN , H. A preview of Act 1. MIT AI Lab. Memo 625, June 1981 . LIEBERMAN, H. A preview of Act 1. MIT AI Lab. Memo 625, June 1981."},{"key":"e_1_2_1_29_2","first-page":"214","volume-title":"Languages and Applications '86 (Portland, Ore.","author":"LIEBERMAN H.","year":"1986","unstructured":"LIEBERMAN , H. Using prototypical objects to implement shared behavior in object oriented systems. In Object-Oriented Programming Systems , Languages and Applications '86 (Portland, Ore. , Sept. 1986 ), 214 - 223 . 10.1145\/28697.28718 LIEBERMAN, H. Using prototypical objects to implement shared behavior in object oriented systems. In Object-Oriented Programming Systems, Languages and Applications '86 (Portland, Ore., Sept. 1986), 214-223. 10.1145\/28697.28718"},{"key":"e_1_2_1_30_2","first-page":"1","volume-title":"Languages and Applications '86 (Portland, Ore.","author":"MOON D. A.","year":"1986","unstructured":"MOON , D. A. Object-oriented programming with flavors. In Object-Oriented Programming Systems , Languages and Applications '86 (Portland, Ore. , Sept. 1986 ), 1 - 8 . 10.1145\/28697.28698 MOON, D. A. Object-oriented programming with flavors. In Object-Oriented Programming Systems, Languages and Applications '86 (Portland, Ore., Sept. 1986), 1-8. 10.1145\/28697.28698"},{"key":"e_1_2_1_31_2","first-page":"91","volume-title":"Languages and Applications '87 (Orlando, Fla.","author":"O'BRIEN P. D.","year":"1987","unstructured":"O'BRIEN , P. D. , HALBERT , D. C. , AND KILIAN , U.F. The Trellis programming environment. In Object-Oriented Programming Systems , Languages and Applications '87 (Orlando, Fla. , Oct. 1987 ), 91 - 102 . 10.1145\/38765.38815 O'BRIEN, P. D., HALBERT, D. C., AND KILIAN, U.F. The Trellis programming environment. In Object-Oriented Programming Systems, Languages and Applications '87 (Orlando, Fla., Oct. 1987), 91-102. 10.1145\/38765.38815"},{"key":"e_1_2_1_32_2","first-page":"502","volume-title":"Languages and Applications '86 (Portland, Ore.","author":"O'SHEA T.","year":"1986","unstructured":"O'SHEA , T. The learnability of object-oriented programming systems. In Object-Oriented Programming Systems , Languages and Applications '86 (Portland, Ore. , Sept. 1986 ), 502 - 504 . O'SHEA, T. The learnability of object-oriented programming systems. In Object-Oriented Programming Systems, Languages and Applications '86 (Portland, Ore., Sept. 1986), 502-504."},{"key":"e_1_2_1_33_2","first-page":"251","volume-title":"Congress '86","author":"PUGH J. R.","year":"1986","unstructured":"PUGH , J. R. , AND LAZONDE , W.R. Data structures and data types: An object-oriented approach. In Canadian Information Processing Society , Congress '86 ( Vancouver, B.C. , April 1986 ), 251 - 258 . PUGH, J. R., AND LAZONDE, W.R. Data structures and data types: An object-oriented approach. In Canadian Information Processing Society, Congress '86 (Vancouver, B.C., April 1986), 251-258."},{"key":"e_1_2_1_34_2","first-page":"9","volume-title":"Languages and Applications '86 (Portland, Ore.","author":"SCHAFFERT C.","year":"1986","unstructured":"SCHAFFERT , C. , COOPER , T. , BULLIS , B. , KILIAN , M. , AND WILPOLT , C. An introduction to Trellis\/Owl. In Object-Oriented Programming Systems , Languages and Applications '86 (Portland, Ore. , Sept. 1986 ), 9 - 16 . 10.1145\/28697.28699 SCHAFFERT, C., COOPER, T., BULLIS, B., KILIAN, M., AND WILPOLT, C. An introduction to Trellis\/Owl. In Object-Oriented Programming Systems, Languages and Applications '86 (Portland, Ore., Sept. 1986), 9-16. 10.1145\/28697.28699"},{"key":"e_1_2_1_35_2","volume-title":"Rochelle Park","author":"SCHMUCKER K.J.","year":"1986","unstructured":"SCHMUCKER , K.J. Object-Oriented Programming for the Macintosh. Hayden , Rochelle Park , N.J. , 1986 . SCHMUCKER, K.J. Object-Oriented Programming for the Macintosh. Hayden, Rochelle Park, N.J., 1986."},{"key":"e_1_2_1_36_2","volume-title":"Object-Oriented Programming in Concurrent Prolog","author":"SHAPIRO E. Y.","year":"1983","unstructured":"SHAPIRO , E. Y. , AND TAKEUCHI , A. Object-Oriented Programming in Concurrent Prolog . Vol. 1 , New Generation Computing, OHMSHA Ltd., and Springer , 1983 , 25-48. SHAPIRO, E. Y., AND TAKEUCHI, A. Object-Oriented Programming in Concurrent Prolog. Vol. 1, New Generation Computing, OHMSHA Ltd., and Springer, 1983, 25-48."},{"key":"e_1_2_1_37_2","volume-title":"Reflections and semantics in a procedural language. MIT Lab. for Computer Science Rep. MIT-TR-272","author":"SMITH B.","year":"1982","unstructured":"SMITH , B. Reflections and semantics in a procedural language. MIT Lab. for Computer Science Rep. MIT-TR-272 , 1982 . SMITH, B. Reflections and semantics in a procedural language. MIT Lab. for Computer Science Rep. MIT-TR-272, 1982."},{"key":"e_1_2_1_38_2","first-page":"38","volume-title":"Languages and Applications '86 (Portland, Ore.","author":"SNYDER A.","year":"1986","unstructured":"SNYDER , A. Encapsulation and inheritance in object-oriented systems. In Object-Oriented Programming Systems , Languages and Applications '86 (Portland, Ore. , Sept. 1986 ), 38 - 45 . 10.1145\/28697.28702 SNYDER, A. Encapsulation and inheritance in object-oriented systems. In Object-Oriented Programming Systems, Languages and Applications '86 (Portland, Ore., Sept. 1986), 38-45. 10.1145\/28697.28702"},{"key":"e_1_2_1_39_2","first-page":"227","volume-title":"Proceedings of HICSS-20","author":"SNYDER A.","year":"1987","unstructured":"SNYDER , A. Inheritance and the development of encapsulated software components . In Proceedings of HICSS-20 ( 1987 ), 227 - 237 . SNYDER, A. Inheritance and the development of encapsulated software components. In Proceedings of HICSS-20 (1987), 227-237."},{"key":"e_1_2_1_40_2","first-page":"4","article-title":"Themes and variations","volume":"6","author":"STEFIK M. J.","year":"1986","unstructured":"STEFIK , M. J. , AND BOBROW , n. G. Object-oriented programming : Themes and variations . AI Mag. 6 , 4 ( 1986 ), 40-62. STEFIK, M. J., AND BOBROW, n. G. Object-oriented programming: Themes and variations. AI Mag. 6, 4 (1986), 40-62.","journal-title":"AI Mag."},{"key":"e_1_2_1_41_2","first-page":"91","volume-title":"Languages and Applications '87 (Orlando, Fla.","author":"STEIN L.A.","year":"1987","unstructured":"STEIN , L.A. Delegation is inheritance. In Object-Oriented Programming Systems , Languages and Applications '87 (Orlando, Fla. , Oct. 1987 ), 91 - 102 . 10.1145\/38765.38820 STEIN, L.A. Delegation is inheritance. In Object-Oriented Programming Systems, Languages and Applications '87 (Orlando, Fla., Oct. 1987), 91-102. 10.1145\/38765.38820"},{"key":"e_1_2_1_42_2","volume-title":"The C++ Programming Language","author":"STROUSTRUP B.","year":"1986","unstructured":"STROUSTRUP , B. The C++ Programming Language . Addison-Wesley , Reading, Mass ., 1986 . STROUSTRUP, B. The C++ Programming Language. Addison-Wesley, Reading, Mass., 1986."},{"key":"e_1_2_1_43_2","first-page":"57","volume-title":"European Conference on Object- Oriented Programming '87","author":"STROUSTRUP B.","year":"1987","unstructured":"STROUSTRUP , B. What is object-oriented programming? In European Conference on Object- Oriented Programming '87 ( Paris , June 1987 ), 57 - 76 . STROUSTRUP, B. What is object-oriented programming? In European Conference on Object- Oriented Programming '87 (Paris, June 1987), 57-76."},{"key":"e_1_2_1_44_2","volume-title":"Apple Computer","author":"TESLER L.","year":"1984","unstructured":"TESLER , L. Object-Pascal report . Apple Computer , Feb. 1984 . TESLER, L. Object-Pascal report. Apple Computer, Feb. 1984."},{"key":"e_1_2_1_45_2","first-page":"138","volume-title":"Proceedings of IEEE COMPINT '85","author":"THOMAS D. A.","year":"1985","unstructured":"THOMAS , D. A. , AND LALONDE , W. R. Actra : The design of an industrial fifth generation Smalltalk system . In Proceedings of IEEE COMPINT '85 , (Montreal, Sept. 1985 ) 138 - 140 . THOMAS, D. A., AND LALONDE, W. R. Actra: The design of an industrial fifth generation Smalltalk system. In Proceedings of IEEE COMPINT '85, (Montreal, Sept. 1985) 138-140."},{"key":"e_1_2_1_46_2","first-page":"227","volume-title":"Languages and Applications '87 (Orlando, Fla.","author":"UNGAR D.","year":"1987","unstructured":"UNGAR , D. , AND SMITH , R.B. Self : The power of simplicity. In Object-Oriented Programming Systems , Languages and Applications '87 (Orlando, Fla. , Oct. 1987 ), 227 - 240 . 10.1145\/38765.38828 UNGAR, D., AND SMITH, R.B. Self: The power of simplicity. In Object-Oriented Programming Systems, Languages and Applications '87 (Orlando, Fla., Oct. 1987), 227-240. 10.1145\/38765.38828"},{"key":"e_1_2_1_48_2","first-page":"16","volume-title":"P. Workshop on object-oriented programming. European Conference on Object- Oriented Programming '87","author":"WEGNER","year":"1987","unstructured":"WEGNER , P. Workshop on object-oriented programming. European Conference on Object- Oriented Programming '87 ( Paris , June 1987 ). In SIGPLAN Not. 23, i (Jan. 1988), 16 - 37 . 10.1145\/44304.44305 WEGNER, P. Workshop on object-oriented programming. European Conference on Object- Oriented Programming '87 (Paris, June 1987). In SIGPLAN Not. 23, i (Jan. 1988), 16-37. 10.1145\/44304.44305"},{"key":"e_1_2_1_49_2","first-page":"168","volume-title":"Languages and Applications '87 (Orlando, Fla.","author":"WEGNER P.","year":"1987","unstructured":"WEGNER , P. Dimensions of object-based language design. In Object-Oriented Programming Systems , Languages and Applications '87 (Orlando, Fla. , Oct. 1987 ), 168 - 182 . 10.1145\/38765.38823 WEGNER, P. Dimensions of object-based language design. In Object-Oriented Programming Systems, Languages and Applications '87 (Orlando, Fla., Oct. 1987), 168-182. 10.1145\/38765.38823"},{"key":"e_1_2_1_51_2","first-page":"265","volume-title":"1984 International Symposium on Logic Programming (Feb.","author":"ZANIOLO C.","year":"1984","unstructured":"ZANIOLO , C. Object-oriented programming in Prolog . In 1984 International Symposium on Logic Programming (Feb. 1984 ), 265 - 271 . ZANIOLO, C. Object-oriented programming in Prolog. In 1984 International Symposium on Logic Programming (Feb. 1984), 265-271."}],"container-title":["ACM Transactions on Programming Languages and Systems"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/63264.63265","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2023,1,2]],"date-time":"2023-01-02T19:35:47Z","timestamp":1672688147000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/63264.63265"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[1989,4]]},"references-count":46,"journal-issue":{"issue":"2","published-print":{"date-parts":[[1989,4]]}},"alternative-id":["10.1145\/63264.63265"],"URL":"https:\/\/doi.org\/10.1145\/63264.63265","relation":{},"ISSN":["0164-0925","1558-4593"],"issn-type":[{"value":"0164-0925","type":"print"},{"value":"1558-4593","type":"electronic"}],"subject":[],"published":{"date-parts":[[1989,4]]},"assertion":[{"value":"1989-04-01","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}