{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2024,7,10]],"date-time":"2024-07-10T15:22:54Z","timestamp":1720624974343},"reference-count":31,"publisher":"Elsevier BV","license":[{"start":{"date-parts":[[1999,1,1]],"date-time":"1999-01-01T00:00:00Z","timestamp":915148800000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/www.elsevier.com\/tdm\/userlicense\/1.0\/"},{"start":{"date-parts":[[2013,7,29]],"date-time":"2013-07-29T00:00:00Z","timestamp":1375056000000},"content-version":"vor","delay-in-days":5323,"URL":"http:\/\/creativecommons.org\/licenses\/by-nc-nd\/3.0\/"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Electronic Notes in Theoretical Computer Science"],"published-print":{"date-parts":[[1999]]},"DOI":"10.1016\/s1571-0661(04)80065-3","type":"journal-article","created":{"date-parts":[[2004,12,13]],"date-time":"2004-12-13T17:55:14Z","timestamp":1102960514000},"page":"28-49","source":"Crossref","is-referenced-by-count":6,"special_numbering":"C","title":["A Core Calculus of Classes and Objects"],"prefix":"10.1016","volume":"20","author":[{"given":"Viviana","family":"Bono","sequence":"first","affiliation":[]},{"given":"Amit","family":"Patel","sequence":"additional","affiliation":[]},{"given":"Vitaly","family":"Shmatikov","sequence":"additional","affiliation":[]},{"given":"John","family":"Mitchell","sequence":"additional","affiliation":[]}],"member":"78","reference":[{"key":"10.1016\/S1571-0661(04)80065-3_NEWBIB1","series-title":"\u201cA Theory of Objects\u201d","year":"1996"},{"key":"10.1016\/S1571-0661(04)80065-3_NEWBIB2","series-title":"The Java Programming Language","year":"1996"},{"key":"10.1016\/S1571-0661(04)80065-3_NEWBIB3","unstructured":"Bono V., \u201cType Systems for the Object Oriented Paradigm,\u201d Ph.D. thesis, Universit\u00e0 di Torino (1999)."},{"key":"10.1016\/S1571-0661(04)80065-3_NEWBIB4","doi-asserted-by":"crossref","unstructured":"Bono V. and M. Bugliesi, Matching for the lambda calculus of objects, Theoretical Computer Science (1998), to appear.","DOI":"10.1007\/3-540-62688-3_28"},{"key":"10.1016\/S1571-0661(04)80065-3_NEWBIB5","doi-asserted-by":"crossref","unstructured":"Bono V. and K. Fisher, An imperative, first-order calculus with object extension, in: Proc. ECOOP '98 (1998), pp. 462\u2013497, preliminary version appeared in FOOL 5 proceedings.","DOI":"10.1007\/BFb0054104"},{"key":"10.1016\/S1571-0661(04)80065-3_NEWBIB6","doi-asserted-by":"crossref","unstructured":"Bono V. and L. Liquori, A subtyping for the Fisher-Honsell-Mitchell lambda calculus of objects, in: Proc. CSL '94 (1995), pp. 16\u201330.","DOI":"10.1007\/BFb0022244"},{"key":"10.1016\/S1571-0661(04)80065-3_NEWBIB7","doi-asserted-by":"crossref","unstructured":"Bono V., A. Patel and V. Shmatikov, A core calculus of classes and mixins, in: Proc. ECOOP '99, 1999, to appear.","DOI":"10.1007\/3-540-48743-3_3"},{"key":"10.1016\/S1571-0661(04)80065-3_NEWBIB8","doi-asserted-by":"crossref","unstructured":"Bruce, K. B., Safe type checking in a statically-typed object-oriented programming language, in: Proc. POPL '93, 1993, pp. 285\u2013298.","DOI":"10.1145\/158511.158650"},{"key":"10.1016\/S1571-0661(04)80065-3_NEWBIB9","doi-asserted-by":"crossref","first-page":"127","DOI":"10.1017\/S0956796800001039","article-title":"A paradigmatic object-oriented language: design, static typing and semantics","volume":"4","author":"Bruce","year":"1994","journal-title":"J. Functional Programming"},{"key":"10.1016\/S1571-0661(04)80065-3_NEWBIB10","first-page":"217","volume":"1","author":"Bruce","year":"1995","journal-title":"On binary methods, Theory and Practice of Object Systems"},{"key":"10.1016\/S1571-0661(04)80065-3_NEWBIB11","doi-asserted-by":"crossref","unstructured":"Bruce, K. B., L. Cardelli, and B. C. Pierce, Comparing object encodings, in: Proc. TACS '97 (1997), pp. 415\u2013438.","DOI":"10.1007\/BFb0014561"},{"key":"10.1016\/S1571-0661(04)80065-3_NEWBIB12","doi-asserted-by":"crossref","unstructured":"Bruce, K. B., L. Petersen and A. Finch, Subtyping is not a good \u201cmatch\u201d for object-oriented languages, in: Proc. ECOOP '97 (1997), pp. 104\u2013127.","DOI":"10.1007\/BFb0053376"},{"key":"10.1016\/S1571-0661(04)80065-3_NEWBIB13","doi-asserted-by":"crossref","unstructured":"Bruce, K. B., A. Schuett and R. van Gent, PolyTOIL: A type-safe polymorphic object-oriented language, in: Proc. ECOOP '95 (1995), pp. 26\u201351.","DOI":"10.1007\/3-540-49538-X_3"},{"key":"10.1016\/S1571-0661(04)80065-3_NEWBIB14","doi-asserted-by":"crossref","first-page":"471","DOI":"10.1145\/6041.6042","article-title":"On understanding types, data obstraction, and polymorphism","volume":"17","author":"Cardelli","year":"1985","journal-title":"Computing Surveys"},{"key":"10.1016\/S1571-0661(04)80065-3_NEWBIB15","doi-asserted-by":"crossref","unstructured":"Cook W., W. Hill and P. Canning, Inheritance is not subtyping, in: Proc. POPL '90, 1990, pp. 125\u2013135.","DOI":"10.1145\/96709.96721"},{"key":"10.1016\/S1571-0661(04)80065-3_NEWBIB16","doi-asserted-by":"crossref","unstructured":"Cook, W. R., \u201cA Denotational Semantics of Inheritance,\u201d Ph.D. thesis, Brown University (1989).","DOI":"10.1145\/74877.74922"},{"key":"10.1016\/S1571-0661(04)80065-3_NEWBIB17","doi-asserted-by":"crossref","unstructured":"Crank E. and M. Felleisen, Parameter-passing and the lambda calculus, in: Proc. POPL '91, 1991, pp. 233\u2013244.","DOI":"10.1145\/99583.99616"},{"key":"10.1016\/S1571-0661(04)80065-3_NEWBIB18","doi-asserted-by":"crossref","unstructured":"Eifrig J., S. Smith and V. Trifonov, Sound polymorphic type inference for objects, in: Proc. OOPSLA '95, 1995, pp. 169\u2013184.","DOI":"10.1145\/217838.217858"},{"key":"10.1016\/S1571-0661(04)80065-3_NEWBIB19","doi-asserted-by":"crossref","unstructured":"Felleisen M. and R. Hieb, The revised report on the syntactic theories of sequential control and state, Theoretical Computer Science 103 (1992), pp. 235\u2013271.","DOI":"10.1016\/0304-3975(92)90014-7"},{"key":"10.1016\/S1571-0661(04)80065-3_NEWBIB20","unstructured":"Fisher K., \u201cType Systems for Object-Oriented Programming Languages,\u201d Ph.D. thesis, Stanford University (1996)."},{"key":"10.1016\/S1571-0661(04)80065-3_NEWBIB21","unstructured":"Fisher K., F. Honsell and J. C. Mitchell, A lambda-calculus of objects and method specialization, Nordic J. of Computing 1 (1994), pp. 3\u201337 preliminary version appeared in Proc. LICS '93, pp. 26\u201338."},{"key":"10.1016\/S1571-0661(04)80065-3_NEWBIB22","doi-asserted-by":"crossref","unstructured":"Fisher K. and J. C. Mitchell, A delegation-based object calculus with subtyping, in: Proc. 10th International Conference on Fundamentals of Computation Theory (FCT '95) (1995), pp. 42\u201361.","DOI":"10.1007\/3-540-60249-6_40"},{"key":"10.1016\/S1571-0661(04)80065-3_NEWBIB23","doi-asserted-by":"crossref","unstructured":"Fisher K. and J. C. Mitchell, On the relationship between classes, objects, and data abstraction, Theory and Practice of Object Systems 4 (1998), pp. 3\u201326, preliminary version appeared in Marktoberdorf '97 proceedings.","DOI":"10.1002\/(SICI)1096-9942(1998)4:1<3::AID-TAPO2>3.0.CO;2-W"},{"key":"10.1016\/S1571-0661(04)80065-3_NEWBIB24","unstructured":"Hofmann M. and B. C. Pierce, Positive subtyping, Information and Computation 126 (1996), pp. 11\u201333, preliminary version appeared in Proc. POPL '95."},{"key":"10.1016\/S1571-0661(04)80065-3_NEWBIB25","series-title":"Theoretical Aspects of Object-Oriented Programming","article-title":"Two semantic models of object\ue4f8oriented languages","author":"Kamin","year":"1994"},{"key":"10.1016\/S1571-0661(04)80065-3_NEWBIB26","doi-asserted-by":"crossref","unstructured":"Mason I. and C. Talcott Programming, transforming, and proving with function abstractions and memories, in: Proc. ICALP '89 (1989), pp. 574\u2013588.","DOI":"10.1007\/BFb0035784"},{"key":"10.1016\/S1571-0661(04)80065-3_NEWBIB27","doi-asserted-by":"crossref","unstructured":"Pierce, B. C. and D. N. Turner, Simple type-theoretic foundations for object-oriented programming, J. Functional Programming 4 (1994), pp. 207\u2013248, preliminary version appeared in Proc. POPL '93 under the title Object-Oriented Programming Without Recursive Types.","DOI":"10.1017\/S0956796800001040"},{"key":"10.1016\/S1571-0661(04)80065-3_NEWBIB28","doi-asserted-by":"crossref","unstructured":"Reddy U., Objects as closures: Abstract semantics of object-oriented languages, in: Proc. Conference on Lisp and Functional Programming, 1988, pp. 289\u2013297.","DOI":"10.1145\/62678.62721"},{"key":"10.1016\/S1571-0661(04)80065-3_NEWBIB29","series-title":"\u201cThe C++ Programming Language","year":"1997"},{"key":"10.1016\/S1571-0661(04)80065-3_NEWBIB30","series-title":"Theoretical Aspects of Object-Oriented Programming","article-title":"Type inference for objects with instance variables inheritancein","author":"Wand","year":"1994"},{"key":"10.1016\/S1571-0661(04)80065-3_NEWBIB31","doi-asserted-by":"crossref","unstructured":"Wright A. and M. Felleisen, A syntactic approach to type soundness, Information and Computation 115 (1994), pp. 38\u201394.","DOI":"10.1006\/inco.1994.1093"}],"container-title":["Electronic Notes in Theoretical Computer Science"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/api.elsevier.com\/content\/article\/PII:S1571066104800653?httpAccept=text\/xml","content-type":"text\/xml","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/api.elsevier.com\/content\/article\/PII:S1571066104800653?httpAccept=text\/plain","content-type":"text\/plain","content-version":"vor","intended-application":"text-mining"}],"deposited":{"date-parts":[[2020,4,4]],"date-time":"2020-04-04T17:45:17Z","timestamp":1586022317000},"score":1,"resource":{"primary":{"URL":"https:\/\/linkinghub.elsevier.com\/retrieve\/pii\/S1571066104800653"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[1999]]},"references-count":31,"alternative-id":["S1571066104800653"],"URL":"https:\/\/doi.org\/10.1016\/s1571-0661(04)80065-3","relation":{},"ISSN":["1571-0661"],"issn-type":[{"value":"1571-0661","type":"print"}],"subject":[],"published":{"date-parts":[[1999]]}}}