{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2023,10,22]],"date-time":"2023-10-22T05:40:37Z","timestamp":1697953237760},"reference-count":19,"publisher":"Wiley","issue":"4","license":[{"start":{"date-parts":[[2006,10,30]],"date-time":"2006-10-30T00:00:00Z","timestamp":1162166400000},"content-version":"vor","delay-in-days":6786,"URL":"http:\/\/onlinelibrary.wiley.com\/termsAndConditions#vor"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Softw Pract Exp"],"published-print":{"date-parts":[[1988,4]]},"abstract":"<jats:title>Abstract<\/jats:title><jats:p>Since the introduction of Smalltalk, the object\u2010oriented approach towards the organization of data and programs has become popular. In this paper the possibilities of exploiting procedure\u2010oriented languages to allow an object\u2010oriented style of programming are analysed. Although the two approaches are apparently dissimilar, a family of procedure\u2010oriented languages is described which allows a high degree of freedom in programming and does not appear to restrain the programmer within the procedure\u2010oriented scheme. Popular languages of this family are ML and PS\u2010Algol. For such languages, a technique is developed which enables an efficient implementation of object\u2010oriented features, such as the subclassing form of inheritance provided by Smalltalk\u201080 and Simula.<\/jats:p>","DOI":"10.1002\/spe.4380180402","type":"journal-article","created":{"date-parts":[[2006,11,17]],"date-time":"2006-11-17T20:42:41Z","timestamp":1163796161000},"page":"287-300","source":"Crossref","is-referenced-by-count":1,"title":["A technique for subclassing and its implementation exploiting polymorphic procedures"],"prefix":"10.1002","volume":"18","author":[{"given":"Luigi V.","family":"Mancini","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"311","published-online":{"date-parts":[[2006,10,30]]},"reference":[{"key":"e_1_2_1_2_2","doi-asserted-by":"publisher","DOI":"10.1145\/6041.6042"},{"key":"e_1_2_1_3_2","volume-title":"Structure and Interpretation of Computer Programs","author":"Abelson H.","year":"1985"},{"key":"e_1_2_1_4_2","doi-asserted-by":"crossref","unstructured":"R.Milner \u2018A proposal for standard ML\u2019 ACM Symposium on LISP and Functional Programming 1984 pp.184\u2013197.","DOI":"10.1145\/800055.802035"},{"key":"e_1_2_1_5_2","doi-asserted-by":"publisher","DOI":"10.1145\/4472.4477"},{"key":"e_1_2_1_6_2","volume-title":"Smalltalk\u201080: the Language and its Implementation","author":"Golberg A.","year":"1983"},{"key":"e_1_2_1_7_2","doi-asserted-by":"publisher","DOI":"10.1145\/365813.365819"},{"key":"e_1_2_1_8_2","volume-title":"Guide to Algol 68 for Users of RS Systems","author":"Woodward P. M.","year":"1983"},{"key":"e_1_2_1_9_2","unstructured":"M.Foster I. F.CurrieandP. W.Edwards \u2018Flex: a working computer with an architecture based on procedure values\u2019 Proc. of Int. Workshop on High Level Architecture Florida December1982 pp.181\u2013185."},{"key":"e_1_2_1_10_2","doi-asserted-by":"publisher","DOI":"10.1145\/359763.359789"},{"key":"e_1_2_1_11_2","volume-title":"Structured Programming","author":"Dahl O.\u2010J.","year":"1972"},{"issue":"11","key":"e_1_2_1_12_2","doi-asserted-by":"crossref","first-page":"38","DOI":"10.1145\/960112.28702","article-title":"Encapsulation and inheritance in object oriented programming languages","volume":"21","author":"Snyder A.","year":"1986","journal-title":"ACM SIGPLAN Notices"},{"key":"e_1_2_1_13_2","doi-asserted-by":"publisher","DOI":"10.1145\/960112.28699"},{"key":"e_1_2_1_14_2","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.1984.5010276"},{"key":"e_1_2_1_15_2","doi-asserted-by":"crossref","unstructured":"H. C.LauerandR. M.Needham \u2018On the duality of operating system structures\u2019 Proc. of 2nd Int. Symp. on Operating Systems INRIA October1978;","DOI":"10.1145\/850657.850658"},{"key":"e_1_2_1_15_3","first-page":"3","volume":"13","year":"1979","journal-title":"ACM Operating System Reviece"},{"key":"e_1_2_1_16_2","volume-title":"The C++ programming language","author":"Stroustrup B.","year":"1986"},{"key":"e_1_2_1_17_2","volume-title":"Fundamental Concepts in Programming Languages","author":"Strachey C.","year":"1967"},{"key":"e_1_2_1_18_2","volume-title":"Object\u2010oriented Programming \u2014 an Evolutionary Approach","author":"Cox B. J.","year":"1986"},{"key":"e_1_2_1_19_2","unstructured":"United States Department of Defence Ada Programming Language American National Standards Institute ANSI MIL\u2010STD\/1815A Jan.1983."}],"container-title":["Software: Practice and Experience"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/api.wiley.com\/onlinelibrary\/tdm\/v1\/articles\/10.1002%2Fspe.4380180402","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/pdf\/10.1002\/spe.4380180402","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2023,10,21]],"date-time":"2023-10-21T17:10:37Z","timestamp":1697908237000},"score":1,"resource":{"primary":{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/10.1002\/spe.4380180402"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[1988,4]]},"references-count":19,"journal-issue":{"issue":"4","published-print":{"date-parts":[[1988,4]]}},"alternative-id":["10.1002\/spe.4380180402"],"URL":"https:\/\/doi.org\/10.1002\/spe.4380180402","archive":["Portico"],"relation":{},"ISSN":["0038-0644","1097-024X"],"issn-type":[{"value":"0038-0644","type":"print"},{"value":"1097-024X","type":"electronic"}],"subject":[],"published":{"date-parts":[[1988,4]]}}}