{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,4,1]],"date-time":"2026-04-01T14:18:25Z","timestamp":1775053105805,"version":"3.50.1"},"publisher-location":"Berlin, Heidelberg","reference-count":41,"publisher":"Springer Berlin Heidelberg","isbn-type":[{"value":"9783540661566","type":"print"},{"value":"9783540487432","type":"electronic"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[1999]]},"DOI":"10.1007\/3-540-48743-3_13","type":"book-chapter","created":{"date-parts":[[2007,10,20]],"date-time":"2007-10-20T14:39:50Z","timestamp":1192891190000},"page":"279-303","source":"Crossref","is-referenced-by-count":19,"title":["Modular Statically Typed Multimethods"],"prefix":"10.1007","author":[{"given":"Todd","family":"Millstein","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Craig","family":"Chambers","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"297","published-online":{"date-parts":[[1999,11,19]]},"reference":[{"issue":"3","key":"13_CR1","doi-asserted-by":"crossref","first-page":"151","DOI":"10.1002\/j.1096-9942.1995.tb00016.x","volume":"1","author":"M. Abadi","year":"1995","unstructured":"Mart\u00edn Abadi and Luca Cardelli. An Imperative Object Calculus. Theory and Practice of Object Systems, 1(3):151\u2013166, 1995.","journal-title":"Theory and Practice of Object Systems"},{"key":"13_CR2","doi-asserted-by":"crossref","DOI":"10.1007\/978-1-4419-8598-9","volume-title":"A Theory of Objects","author":"M. Abadi","year":"1996","unstructured":"Mart\u00edn Abadi and Luca Cardelli. A Theory of Objects. Springer-Verlag, New York, 1996."},{"key":"13_CR3","series-title":"ACM SIGPLAN Notices","first-page":"113","volume-title":"OOPSLA\u201991 Conference Proceedings","author":"R. Agrawal","year":"1991","unstructured":"Rakesh Agrawal, Linda G. DeMichiel, and Bruce G. Lindsay. Static Type Checking of Multi-Methods. OOPSLA\u201991 Conference Proceedings, Phoenix, AZ, October, 1991, volume 26, number 11 of ACM SIGPLAN Notices, pp. 113\u2013128. ACM, New York, November, 1991."},{"key":"13_CR4","volume-title":"The Java Programming Language","author":"K. Arnold","year":"1998","unstructured":"Ken Arnold and James Gosling. The Java Programming Language. Second Edition, Addison-Wesley, Reading, Mass., 1998.","edition":"Second Edition"},{"key":"13_CR5","unstructured":"Gerald Baumgartner, Konstantin L\u00e4ufer, and Vincent F. Russo. On the Interaction of Object-Oriented Design Patterns and Programming Languages. Technical Report CSD-TR-96-020, Department of Computer Science, Purdue University, February 1996."},{"key":"13_CR6","doi-asserted-by":"publisher","first-page":"302","DOI":"10.1145\/263699.263743","volume-title":"Conference Record of POPL\u2019 97: The 24th ACM SIGPLANSIGACT Symposium on Principles of Programming Languages","author":"F. Bourdoncle","year":"1997","unstructured":"Fran\u00e7ois Bourdoncle and Stephan Merz. Type Checking Higher-Order Polymorphic Multi-Methods. Conference Record of POPL\u2019 97: The 24th ACM SIGPLANSIGACT Symposium on Principles of Programming Languages, Paris, France, pp. 302\u2013315. ACM, New York, January 1997."},{"key":"13_CR7","series-title":"ACM SIGPLAN Notices","doi-asserted-by":"publisher","first-page":"66","DOI":"10.1145\/263698.263721","volume-title":"Proceedings of the ACM SIGPLAN Conference on Object-Oriented Programming Systems, Languages and Applications","author":"J. Boyland","year":"1997","unstructured":"John Boyland and Giuseppe Castagna. Parasitic Methods: An Implementation of Multi-Methods for Java. Proceedings of the ACM SIGPLAN Conference on Object-Oriented Programming Systems, Languages and Applications, volume 32, number 10 of ACM SIGPLAN Notices, pp. 66\u201376. ACM, New York, November 1997."},{"key":"13_CR8","doi-asserted-by":"crossref","unstructured":"Gilad Bracha and William Cook. Mixin-Based Inheritance. Proceedings of the Joint ACM Conference on Object-Oriented Programming Systems, Languages and Applications and the European Conference on Object-Oriented Programming, Ottawa, Canada, October 1990.","DOI":"10.1145\/97945.97982"},{"issue":"3","key":"13_CR9","doi-asserted-by":"crossref","first-page":"221","DOI":"10.1002\/j.1096-9942.1995.tb00019.x","volume":"1","author":"K. Bruce","year":"1995","unstructured":"Kim Bruce, Luca Cardelli, Giuseppe Castagna, The Hopkins Object Group, Gary T. Leavens, and Benjamin Pierce. On Binary Methods. Theory and Practice of Object Systems, 1(3):221\u2013242, 1995.","journal-title":"Theory and Practice of Object Systems"},{"key":"13_CR10","doi-asserted-by":"crossref","unstructured":"Peter Canning, William Cook, Walter Hill, Walter Olthoff, John C. Mitchell. F-Bounded Polymorphism for Object-Oriented Programming. Proceedings of the Fourth International Conference on Functional Programming Languages and Computer Architecture, pages 273\u2013280, September 1989.","DOI":"10.1145\/99370.99392"},{"key":"13_CR11","series-title":"Lect Notes Comput Sci","doi-asserted-by":"crossref","first-page":"51","DOI":"10.1007\/3-540-13346-1_2","volume-title":"Semantics of Data Types Symposium","author":"L. Cardelli","year":"1984","unstructured":"Luca Cardelli. A Semantics of Multiple Inheritance. Semantics of Data Types Symposium, LNCS 173, pp. 51\u201366, Springer-Verlag, 1984."},{"key":"13_CR12","series-title":"LISP Pointers","doi-asserted-by":"publisher","first-page":"182","DOI":"10.1145\/141471.141537","volume-title":"Proceedings of the 1992 ACM Conference on Lisp and Functional Programming","author":"G. Castagna","year":"1992","unstructured":"Giuseppe Castagna, Giorgio Ghelli, and Giuseppe Longo. A Calculus for Overloaded Functions with Subtyping. Proceedings of the 1992 ACM Conference on Lisp and Functional Programming, San Francisco, June, 1992, pp. 182\u2013192, volume 5, number 1 of LISP Pointers. ACM, New York, January-March, 1992."},{"key":"13_CR13","doi-asserted-by":"publisher","first-page":"431","DOI":"10.1145\/203095.203096","volume":"173","author":"G. Castagna","year":"1995","unstructured":"Giuseppe Castagna. Covariance and contravariance: conflict without a cause. ACM Transactions on Programming Languages and Systems, 17(3):431\u2013447, 1995.","journal-title":"ACM Transactions on Programming Languages and Systems"},{"key":"13_CR14","doi-asserted-by":"crossref","unstructured":"Giuseppe Castagna. Object-Oriented Programming A Unified Foundation, Birkh\u00e4user, Boston, 1997.","DOI":"10.1007\/978-1-4612-4138-6"},{"key":"13_CR15","series-title":"Lect Notes Comput Sci","doi-asserted-by":"crossref","first-page":"33","DOI":"10.1007\/BFb0053029","volume-title":"ECOOP\u2019 92 Conference Proceedings","author":"C. Chambers","year":"1992","unstructured":"Craig Chambers. Object-Oriented Multi-Methods in Cecil. ECOOP\u2019 92 Conference Proceedings, Utrecht, the Netherlands, June\/July, 1992, volume 615 of Lecture Notes in Computer Science, pp. 33\u201356. Springer-Verlag, Berlin, 1992."},{"key":"13_CR16","unstructured":"Craig Chambers. The Cecil Language: Specification and Rationale: Version 2.0. Department of Computer Science and Engineering, University of Washington, December, 1995. http:\/\/www.cs.washington.edu\/research\/projects\/cecil\/www\/Papers\/cecil-spec.html"},{"issue":"6","key":"13_CR17","doi-asserted-by":"publisher","first-page":"805","DOI":"10.1145\/218570.218571","volume":"17","author":"C. Chambers","year":"1995","unstructured":"Craig Chambers and Gary T. Leavens. Typechecking and Modules for Multi-Methods. ACM Transactions on Programming Languages and Systems, 17(6):805\u2013843. November, 1995.","journal-title":"ACM Transactions on Programming Languages and Systems"},{"key":"13_CR18","unstructured":"Craig Chambers and Gary T. Leavens. BeCecil, A Core Object-Oriented Language with Block Structure and Multimethods: Semantics and Typing. The Fourth International Workshop on the Foundations of Object-oriented Languages, Paris, France, January 1997."},{"key":"13_CR19","unstructured":"Craig Chambers. Towards Diesel, a Next-Generation OO Language after Cecil. Invited talk, The Fifth Workshop on Foundations of Object-oriented Languages, San Diego, California, January 1998."},{"key":"13_CR20","series-title":"Lect Notes Comput Sci","volume-title":"Foundations of Object-Oriented Languages","author":"W. Cook","year":"1991","unstructured":"William Cook. Object-Oriented Programming versus Abstract Data Types. Foundations of Object-Oriented Languages, REX School\/Workshop Proceedings, Noordwijkerhout, the Netherlands, May\/June, 1990, volume 489 of Lecture Notes in Computer Science, pp. 151\u2013178. Springer-Verlag, New York, 1991."},{"key":"13_CR21","doi-asserted-by":"crossref","unstructured":"Michael D. Ernst, Craig Kaplan, and Craig Chambers. Predicate Dispatching: A Unified Theory of Dispatch. Twelfth European Conference on Object-Oriented Programming, Brussels, Belgium, pp. 186\u2013211, July, 1998.","DOI":"10.1007\/BFb0054092"},{"key":"13_CR22","volume-title":"The Dylan Programming Book","author":"N. Feinberg","year":"1997","unstructured":"Neal Feinberg, Sonya E. Keene, Robert O. Mathews, and P. Tucker Withington. The Dylan Programming Book. Addison-Wesley Longman, Reading, Mass., 1997."},{"key":"13_CR23","doi-asserted-by":"crossref","unstructured":"Robert Bruce Findler and Matthew Flatt. Modular Object-Oriented Programming with Units and Mixins. International Conference on Functional Programming, Baltimore, Maryland, September 1998.","DOI":"10.1145\/289423.289432"},{"key":"13_CR24","doi-asserted-by":"publisher","first-page":"171","DOI":"10.1145\/268946.268961","volume-title":"Conference Record of POPL\u2019 98: The 25th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages","author":"M. Flatt","year":"1998","unstructured":"Matthew Flatt, Shriram Krishnamurthi, and Matthias Felleisen. Classes and Mixins. Conference Record of POPL\u2019 98: The 25th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, San Diego, California, pp. 171\u2013183. ACM, New York, January 1998."},{"key":"13_CR25","volume-title":"Design Patterns: Elements of Reusable Object-Oriented Software","author":"E. Gamma","year":"1995","unstructured":"Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides. Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, Reading, Mass., 1995."},{"key":"13_CR26","volume-title":"The Java Language Specification","author":"J. Gosling","year":"1996","unstructured":"James Gosling, Bill Joy, Guy Steele, Guy L. Steele. The Java Language Specification. Addison-Wesley, Reading, Mass., 1996."},{"key":"13_CR27","series-title":"Lect Notes Comput Sci","volume-title":"Eleventh European Conference on Object-Oriented Programming","author":"G. Kiczales","year":"1997","unstructured":"Gregor Kiczales, John Lamping, Anurag Mendhekar, Chris Maeda, Cristina Videira Lopes, Jean-Marc Loingtier, John Irwin. Aspect-Oriented Programming. In proceedings of the Eleventh European Conference on Object-Oriented Programming, Finland. Springer-Verlag LNCS 1241. June 1997."},{"issue":"11","key":"13_CR28","first-page":"322","volume":"21","author":"W. R. LaLonde","year":"1986","unstructured":"Wilf R. LaLonde, Dave A. Thomas, and John R. Pugh. An Exemplar Based Smalltalk. OOPSLA\u2019 86 Conference Proceedings, pp. 322\u2013330, Portland, OR, September, 1986. Published as SIGPLAN Notices 21(11), November, 1986.","journal-title":"OOPSLA\u2019 86 Conference Proceedings"},{"key":"13_CR29","doi-asserted-by":"crossref","unstructured":"Gary T. Leavens and Todd D. Millstein. Multiple Dispatch as Dispatch on Tuples. Conference on Object-oriented Programming, Systems, Languages, and Applications, Vancouver, British Columbia, October 1998.","DOI":"10.1145\/286936.286977"},{"issue":"11","key":"13_CR30","first-page":"214","volume":"21","author":"H. Lieberman","year":"1986","unstructured":"Henry Lieberman. Using Prototypical Objects to Implement Shared Behavior in Object-Oriented Systems. OOPSLA\u2019 86 Conference Proceedings, pp. 214\u2013223, Portland, OR, September, 1986. Published as SIGPLAN Notices 21(11), November, 1986.","journal-title":"OOPSLA\u2019 86 Conference Proceedings"},{"key":"13_CR31","doi-asserted-by":"crossref","unstructured":"Todd Millstein and Craig Chambers. Modular Statically Typed Multimethods. Technical Report UW-CSE-99-03-02, Department of Computer Science and Engineering, University of Washington, March 1999.","DOI":"10.1007\/3-540-48743-3_13"},{"key":"13_CR32","series-title":"Lect Notes Comput Sci","doi-asserted-by":"publisher","DOI":"10.1007\/BFb0057029","volume-title":"ECOOP\u2019 91 Conference Proceedings","author":"W. B. Mugridge","year":"1991","unstructured":"W. B. Mugridge, J. Hamer, and J. G. Hosking. Multi-Methods in a Statically-Typed Programming Language. ECOOP\u2019 91 Conference Proceedings, Geneva, Switzerland, July, 1991, volume 512 of Lecture Notes in Computer Science; Springer-Verlag, New York, 1991."},{"key":"13_CR33","first-page":"146","volume-title":"Translating Theory into Practice","author":"M. Odersky","year":"1997","unstructured":"Martin Odersky and Philip Wadler. Pizza into Java: Translating Theory into Practice. Conference Record of POPL\u2019 97: The 24th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, Paris, France, pp. 146\u2013159. ACM, New York, January 1997."},{"key":"13_CR34","doi-asserted-by":"crossref","unstructured":"Andreas Paepcke. Object-Oriented Programming: The CLOS Perspective. MIT Press, 1993.","DOI":"10.7551\/mitpress\/5087.001.0001"},{"issue":"6","key":"13_CR35","first-page":"27","volume":"5","author":"T. Reenskaug","year":"1992","unstructured":"T. Reenskaug, E. Anderson, A. Berre, A. Hurlen, A. Landmark, O. Lehne, E. Nordhagen, E. Ness-Ulseth, G. Oftedal, A. Skaar, and P. Stenslet. OORASS: Seamless Support for the Creation and Maintenance of Object-Oriented Systems. Journal of Object-Oriented Programming, 5(6): October 1992, pp. 27\u201341.","journal-title":"Journal of Object-Oriented Programming"},{"key":"13_CR36","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":"John C. Reynolds. Using Category Theory to Design Implicit Conversions and Generic Operators. Semantics-Directed Compiler Generation, Aarhus, Denmark, pp. 211\u2013258. Volume 94 of Lecture Notes in Computer Science, Springer-Verlag, NY, 1980."},{"key":"13_CR37","volume-title":"The Dylan Reference Manual: The Definitive Guide to the New Object-Oriented Dynamic Language","author":"A. Shalit","year":"1997","unstructured":"Andrew Shalit. The Dylan Reference Manual: The Definitive Guide to the New Object-Oriented Dynamic Language. Addison-Wesley, Reading, Mass., 1997."},{"key":"13_CR38","doi-asserted-by":"crossref","unstructured":"Yannis Smaragdakis and Don Batory. Implementing Layered Designs with Mixin Layers. Twelfth European Conference on Object-Oriented Programming, Brussels, Belgium, pp. 550\u2013570, July 1998.","DOI":"10.1007\/BFb0054107"},{"key":"13_CR39","volume-title":"Common Lisp: The Language (second edition)","author":"G. L. Steele Jr","year":"1990","unstructured":"Guy L. Steele Jr. Common Lisp: The Language (second edition). Digital Press, Bedford, MA, 1990."},{"key":"13_CR40","series-title":"ACM SIGPLAN Notices","doi-asserted-by":"publisher","first-page":"227","DOI":"10.1145\/38765.38828","volume-title":"OOPSLA\u2019 87 Conference Proceedings","author":"D. Ungar","year":"1987","unstructured":"David Ungar and Randall B. Smith. Self: The Power of Simplicity. OOPSLA\u2019 87 Conference Proceedings, Orlando, Florida, volume 22, number 12, of ACM SIGPLAN Notices, pp. 227\u2013241. ACM, New York, December, 1987."},{"key":"13_CR41","doi-asserted-by":"crossref","unstructured":"M. VanHilst and D. Notkin. Using C++ Templates to Implement Role-Based Designs. JSSST International Symposium on Object Technologies for Advanced Software, Springer-Verlag, 1996, pp. 22\u201337.","DOI":"10.1007\/3-540-60954-7_41"}],"container-title":["Lecture Notes in Computer Science","ECOOP\u2019 99 \u2014 Object-Oriented Programming"],"original-title":[],"link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/3-540-48743-3_13","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2020,4,27]],"date-time":"2020-04-27T08:39:27Z","timestamp":1587976767000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/3-540-48743-3_13"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[1999]]},"ISBN":["9783540661566","9783540487432"],"references-count":41,"URL":"https:\/\/doi.org\/10.1007\/3-540-48743-3_13","relation":{},"ISSN":["0302-9743"],"issn-type":[{"value":"0302-9743","type":"print"}],"subject":[],"published":{"date-parts":[[1999]]}}}