{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,1,23]],"date-time":"2025-01-23T05:15:52Z","timestamp":1737609352392,"version":"3.33.0"},"publisher-location":"Berlin, Heidelberg","reference-count":27,"publisher":"Springer Berlin Heidelberg","isbn-type":[{"type":"print","value":"9783540601609"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":[],"DOI":"10.1007\/3-540-49538-x_3","type":"book-chapter","created":{"date-parts":[[2007,11,11]],"date-time":"2007-11-11T03:37:18Z","timestamp":1194752238000},"page":"27-51","source":"Crossref","is-referenced-by-count":37,"title":["PolyTOIL: A Type-Safe Polymorphic Object-Oriented Language"],"prefix":"10.1007","author":[{"given":"Kim B.","family":"Bruce","sequence":"first","affiliation":[]},{"given":"Angela","family":"Schuett","sequence":"additional","affiliation":[]},{"given":"Robert","family":"Gent","sequence":"additional","affiliation":[]}],"member":"297","reference":[{"issue":"4","key":"3_CR1","doi-asserted-by":"publisher","first-page":"575","DOI":"10.1145\/155183.155231","volume":"15","author":"R. Amadio","year":"1993","unstructured":"Roberto Amadio and Luca Cardelli. Subtyping recursive types. ACM Transactions on Programming Languages and Systems, 15(4):575\u2013631, 1993.","journal-title":"ACM Transactions on Programming Languages and Systems"},{"key":"3_CR2","doi-asserted-by":"crossref","unstructured":"Martin Abadi and Luca Cardelli. An imperative object calculus. Manuscript, 1994.","DOI":"10.1007\/3-540-59293-8_214"},{"key":"3_CR3","doi-asserted-by":"crossref","unstructured":"Martin Abadi and Luca Cardelli. A theory of primitive objects: second-order systems. In Proc. ESOP\u2019 94. Springer-Verlag, 1994. to appear.","DOI":"10.1007\/3-540-57880-3_1"},{"key":"3_CR4","doi-asserted-by":"crossref","unstructured":"Martin Abadi and Luca Cardelli. A theory of primitive objects: untyped and first-order systems. In Proc. Theoretical Aspects of Computer Software. Springer-Verlag, 1994. to appear.","DOI":"10.1007\/3-540-57887-0_101"},{"key":"3_CR5","doi-asserted-by":"crossref","unstructured":"[BCD+93]_K. Bruce, J. Crabtree, A. Dimock, R. Muller, T. Murtagh, and R. van Gent. Safe and decidable type checking in an object-oriented language. In Proc. ACM Symp. on Object-Oriented Programming: Systems, Languages, and Applications, pages 29\u201346, 1993.","DOI":"10.1145\/165854.165865"},{"key":"3_CR6","series-title":"Lect Notes Comput Sci","doi-asserted-by":"crossref","first-page":"603","DOI":"10.1007\/3-540-58027-1_30","volume-title":"Mathematical Foundations of Programming Semantics","author":"K. Bruce","year":"1994","unstructured":"K. Bruce, J. Crabtree, and G. Kanapathy. An operational semantics for TOOPLE: A statically-typed object-oriented programming language. In S. Brookes, M. Main, A. Melton, M. Mislove, and D. Schmidt, editors, Mathematical Foundations of Programming Semantics, pages 603\u2013626. LNCS 802, Springer-Verlag, 1994."},{"key":"3_CR7","doi-asserted-by":"crossref","unstructured":"Gilad Bracha and David Griswold. Strongtalk: Typechecking Smalltalk in a production environment. In Proc. ACM Symp. on Object-Oriented Programming; Systems, Languages, and Applications, pages 215\u2013230, 1993.","DOI":"10.1145\/167962.165893"},{"key":"3_CR8","unstructured":"A. Black and N. Hutchinson. Typechecking polymorphism in Emerald. Technical Report CRL 91\/1 (Revised), DEC Cambridge Research Lab, 1991."},{"key":"3_CR9","doi-asserted-by":"crossref","unstructured":"K. Bruce. Safe type checking in a statically typed object-oriented programming language. In Proc. ACM Symp. on Principles of Programming Languages, pages 285\u2013298, 1993.","DOI":"10.1145\/158511.158650"},{"issue":"2","key":"3_CR10","doi-asserted-by":"publisher","first-page":"127","DOI":"10.1017\/S0956796800001039","volume":"4","author":"K. Bruce","year":"1994","unstructured":"K. Bruce. A paradigmatic object-oriented programming language: design, static typing and semantics. Journal of Functional Programming, 4(2): 127\u2013206, 1994.","journal-title":"Journal of Functional Programming"},{"key":"3_CR11","unstructured":"Kim B. Bruce, Angela Schuett, and Robert van Gent. PolyTOIL: A type-safe polymorphic object-oriented language. Technical report, Williams College, 1994."},{"key":"3_CR12","unstructured":"Kim B. Bruce and Robert van Gent. TOIL: A new type-safe object-oriented imperative language. Technical report, Williams College, 1993."},{"key":"3_CR13","doi-asserted-by":"crossref","unstructured":"[CCH+89]_P. Canning, W. Cook, W. Hill, J. Mitchell, and W. Olthoff. F-bounded quantification for object-oriented programming. In Functional Prog. and Computer Architecture, pages 273\u2013280, 1989.","DOI":"10.1145\/99370.99392"},{"key":"3_CR14","doi-asserted-by":"crossref","unstructured":"William R. Cook, Walter L. Hill, and Peter S. Canning. Inheritance is not subtyping. In Proc. 17th ACM Symp. on Principles of Programming Languages, pages 125\u2013135, January 1990.","DOI":"10.1145\/96709.96721"},{"key":"3_CR15","doi-asserted-by":"crossref","unstructured":"W.R. Cook. A proposal for making Eiffel type-safe. In European Conf. on Object-Oriented Programming, pages 57\u201372, 1989.","DOI":"10.1093\/comjnl\/32.4.305"},{"key":"3_CR16","unstructured":"Mark Day, Robert Gruber, Barbara Liskov, and Andrew C. Meyers. Abstraction mechanisms in Theta. Technical report, MIT Laboratory for Computer Science, 1994."},{"key":"3_CR17","unstructured":"Margaret A. Ellis and Bjarne Stroustrop. The annotated C ++ reference manual. Addison-Wesley, 1990."},{"key":"3_CR18","doi-asserted-by":"crossref","unstructured":"J. Eifrig, S. Smith, V. Trifonov, and A. Zwarico. Application of OOP type theory: State, decidability, integration. In Proceedings of OOPSLA\u2019 94, pages 16\u201330, 1994.","DOI":"10.1145\/191080.191086"},{"key":"3_CR19","unstructured":"A. Goldberg and D. Robson. Smalltalk-80: The language and its implementation. Addison Wesley, 1983."},{"key":"3_CR20","doi-asserted-by":"crossref","unstructured":"Dinesh Katiyar, David Luckham, and John Mitchell. A type system for prototyping languages. In 21st ACM Symp. Principles of Programming Languages, pages 138\u2013150, 1994.","DOI":"10.1145\/174675.177838"},{"key":"3_CR21","unstructured":"B. Meyer. Eiffel: the language. Prentice-Hall, 1992."},{"issue":"10","key":"3_CR22","doi-asserted-by":"publisher","first-page":"140","DOI":"10.1145\/97945.97964","volume":"25","author":"O. Madsen","year":"1990","unstructured":"O. Madsen, B. Magnusson, and B. Moller-Pedersen. Strong typing of object-oriented languages revisited. In OOPSLA-ECOOP\u2019 90 Proceedings, pages 140\u2013150. ACM SIGPLAN Notices, 25(10), October 1990.","journal-title":"OOPSLA-ECOOP\u2019 90 Proceedings"},{"key":"3_CR23","unstructured":"Benjamin C. Pierce. Mutable objects. Technical report, University of Edinburgh, 1993."},{"key":"3_CR24","doi-asserted-by":"publisher","first-page":"207","DOI":"10.1017\/S0956796800001040","volume":"4","author":"B. C. Pierce","year":"1994","unstructured":"Benjamin C. Pierce and David N. Turner. Simple type-theoretic foundations for object-oriented programming. Journal of functional programming, 4:207\u2013247, 1994. An earlier version appeared in Proc. of POPL\u2019 93, pp. 299\u2013312.","journal-title":"Journal of functional programming"},{"key":"3_CR25","series-title":"Lect Notes Comput Sci","doi-asserted-by":"crossref","first-page":"211","DOI":"10.1007\/3-540-10250-7_24","volume-title":"Semantics-Directed Compiler Generation","author":"J.C. Reynolds","year":"1980","unstructured":"J.C. Reynolds. Using category theory to design implicit conversions and generic operators. In N.D. Jones, editor, Semantics-Directed Compiler Generation, pages 211\u20132580. Springer-Verlag Lecture Notes in Computer Science, Vol. 94, 1980."},{"key":"3_CR26","unstructured":"L. Tesler. Object Pascal report. Technical Report 1, Apple Computer, 1985."},{"key":"3_CR27","unstructured":"Robert van Gent. TOIL: An imperative type-safe object-oriented language. Williams College Senior Honors Thesis, 1993."}],"container-title":["Lecture Notes in Computer Science","Object-Oriented Programming"],"original-title":[],"language":"en","link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/3-540-49538-X_3.pdf","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,1,22]],"date-time":"2025-01-22T06:28:25Z","timestamp":1737527305000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/3-540-49538-X_3"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[null]]},"ISBN":["9783540601609"],"references-count":27,"URL":"https:\/\/doi.org\/10.1007\/3-540-49538-x_3","relation":{},"subject":[]}}