{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2024,9,5]],"date-time":"2024-09-05T17:50:09Z","timestamp":1725558609031},"publisher-location":"Berlin, Heidelberg","reference-count":33,"publisher":"Springer Berlin Heidelberg","isbn-type":[{"type":"print","value":"9783642139529"},{"type":"electronic","value":"9783642139536"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2010]]},"DOI":"10.1007\/978-3-642-13953-6_13","type":"book-chapter","created":{"date-parts":[[2010,6,29]],"date-time":"2010-06-29T07:28:13Z","timestamp":1277796493000},"page":"233-252","source":"Crossref","is-referenced-by-count":0,"title":["Revisiting Parametric Types and Virtual Classes"],"prefix":"10.1007","author":[{"given":"Anders Bach","family":"Madsen","sequence":"first","affiliation":[]},{"given":"Erik","family":"Ernst","sequence":"additional","affiliation":[]}],"member":"297","reference":[{"key":"13_CR1","doi-asserted-by":"crossref","unstructured":"Agesen, O., Freund, S.N., Mitchell, J.C.: Adding type parameterization to the Java language. In: Proceedings of OOPSLA \u201997, pp. 49\u201365 (1997)","DOI":"10.1145\/263698.263720"},{"key":"13_CR2","unstructured":"Altherr, P.: A typed intermediate language and algorithms for compiling scala by successive rewritings. PhD thesis, EPFL (2006), http:\/\/library.epfl.ch\/theses\/?nr=3509"},{"key":"13_CR3","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"135","DOI":"10.1007\/11687061_5","volume-title":"Transactions on Aspect-Oriented Software Development I","author":"I. Aracic","year":"2006","unstructured":"Aracic, I., Gasiunas, V., Mezini, M., Ostermann, K.: An overview of CaesarJ. In: Rashid, A., Aksit, M. (eds.) Transactions on Aspect-Oriented Software Development I. LNCS, vol.\u00a03880, pp. 135\u2013173. Springer, Heidelberg (2006)"},{"key":"13_CR4","doi-asserted-by":"crossref","unstructured":"Bracha, G., Odersky, M., Stoutamire, D., Wadler, P.: Making the future safe for the past: adding genericity to the Java programming language. In: Proceedings of OOPSLA \u201998, pp. 183\u2013200 (1998)","DOI":"10.1145\/286936.286957"},{"key":"13_CR5","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"523","DOI":"10.1007\/BFb0054106","volume-title":"ECOOP \u201998 - Object-Oriented Programming","author":"K.B. Bruce","year":"1998","unstructured":"Bruce, K.B., Odersky, M., Wadler, P.: A statically safe alternative to virtual types. In: Jul, E. (ed.) ECOOP 1998. LNCS, vol.\u00a01445, pp. 523\u2013549. Springer, Heidelberg (1998)"},{"key":"13_CR6","doi-asserted-by":"crossref","unstructured":"Canning, P., Cook, W., Hill, W., Olthoff, W.: F-bounded polymorphism for object-oriented programming. In: Proceedings of the Conference on Functional Programming Languages and Computer Architecture \u201989, pp. 273\u2013280 (1989)","DOI":"10.1145\/99370.99392"},{"key":"13_CR7","doi-asserted-by":"crossref","unstructured":"Ernst, E.: gbeta \u2013 a Language with Virtual Attributes, Block Structure, and Propagating, Dynamic Inheritance. PhD thesis, Department of Computer Science, Aarhus University, \u00c5rhus, Denmark (1999)","DOI":"10.7146\/dpb.v29i549.7654"},{"key":"13_CR8","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"67","DOI":"10.1007\/3-540-48743-3_4","volume-title":"ECOOP \u201999 - Object-Oriented Programming","author":"E. Ernst","year":"1999","unstructured":"Ernst, E.: Propagating class and method combination. In: Guerraoui, R. (ed.) ECOOP 1999. LNCS, vol.\u00a01628, pp. 67\u201391. Springer, Heidelberg (1999)"},{"key":"13_CR9","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"303","DOI":"10.1007\/3-540-45337-7_17","volume-title":"ECOOP 2001 - Object-Oriented Programming","author":"E. Ernst","year":"2001","unstructured":"Ernst, E.: Family polymorphism. In: Knudsen, J.L. (ed.) ECOOP 2001. LNCS, vol.\u00a02072, pp. 303\u2013326. Springer, Heidelberg (2001)"},{"key":"13_CR10","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"crossref","first-page":"303","DOI":"10.1007\/978-3-540-45070-2_14","volume-title":"ECOOP 2003 - Object-Oriented Programming","author":"E. Ernst","year":"2003","unstructured":"Ernst, E.: Higher-order hierarchies. In: Cardelli, L. (ed.) ECOOP 2003. LNCS, vol.\u00a02743, pp. 303\u2013329. Springer, Heidelberg (2003)"},{"key":"13_CR11","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"57","DOI":"10.1007\/11860990_5","volume-title":"Modular Programming Languages","author":"E. Ernst","year":"2006","unstructured":"Ernst, E.: Reconciling virtual classes with genericity. In: Lightfoot, D.E., Szyperski, C. (eds.) JMLC 2006. LNCS, vol.\u00a04228, pp. 57\u201372. Springer, Heidelberg (2006)"},{"key":"13_CR12","doi-asserted-by":"crossref","unstructured":"Ernst, E., Ostermann, K., Cook, W.R.: A virtual class calculus. In: Proceedings of POPL \u201906, pp. 270\u2013282 (2006)","DOI":"10.1145\/1111037.1111062"},{"key":"13_CR13","unstructured":"Gosling, J., Joy, B., Steele, G., Bracha, G.: The Java Language Specification, 3rd edn. Addison-Wesley, Reading (May 2005)"},{"key":"13_CR14","doi-asserted-by":"crossref","unstructured":"Herrmann, S.: Object teams: Improving modularity for crosscutting collaborations. In: Proceedings of Net. Object days, pp. 248\u2013264 (2002)","DOI":"10.1007\/3-540-36557-5_19"},{"key":"13_CR15","unstructured":"Herrmann, S., Herrmann, S., Hundt, C., Hundt, C., Mehner, K., Mehner, K.: Translation polymorphism in object teams. Technical report, Technical University Berlin (2004)"},{"issue":"5","key":"13_CR16","doi-asserted-by":"publisher","first-page":"1","DOI":"10.1145\/381694.378797","volume":"36","author":"A. Kennedy","year":"2001","unstructured":"Kennedy, A., Syme, D.: Design and implementation of generics for the.net common language runtime. SIGPLAN Not.\u00a036(5), 1\u201312 (2001)","journal-title":"SIGPLAN Not."},{"key":"13_CR17","doi-asserted-by":"crossref","unstructured":"Madsen, O.L., M\u00f8ller-Pedersen, B.: Virtual classes: A powerful mechanism in object-oriented programming. In: Proceedings of OOPSLA \u201989, pp. 397\u2013406 (1989)","DOI":"10.1145\/74877.74919"},{"key":"13_CR18","volume-title":"Object-Oriented Programming in The Beta Programming Language","author":"O.L. Madsen","year":"1993","unstructured":"Madsen, O.L., Nygaard, K., M\u00f8ller-Pedersen, B.: Object-Oriented Programming in The Beta Programming Language. Addison-Wesley, Reading (1993)"},{"key":"13_CR19","doi-asserted-by":"crossref","unstructured":"Mezini, M., Ostermann, K.: Conquering aspects with Caesar. In: Proceedings of AOSD \u201903, pp. 90\u201399 (2003)","DOI":"10.1145\/643603.643613"},{"key":"13_CR20","doi-asserted-by":"crossref","unstructured":"Moors, A., Piessens, F., Odersky, M.: Generics of a higher kind. In: Proceedings of OOPSLA \u201908, pp. 423\u2013438 (2008)","DOI":"10.1145\/1449764.1449798"},{"key":"13_CR21","unstructured":"Myers, A.C., Bank, J.A., Liskov, B.: Parameterized types for Java. In: Proceedings of POPL \u201997, pp. 132\u2013145 (1997)"},{"key":"13_CR22","series-title":"LNBIP","first-page":"161","volume-title":"TOOLS EUROPE 2008","author":"A.B. Nielsen","year":"1974","unstructured":"Nielsen, A.B., Ernst, E.: Optimizing dynamic class composition in a statically typed language. In: Paige, R.F., Meyer, B. (eds.) TOOLS EUROPE 2008. LNBIP, vol.\u00a011, pp. 161\u2013177. Springer, Heidelberg (1974)"},{"key":"13_CR23","doi-asserted-by":"crossref","unstructured":"Nystrom, N., Chong, S., Myers, A.C.: Scalable extensibility via nested inheritance. In: OOPSLA \u201904: Proceedings of the 19th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, pp. 99\u2013115 (2004)","DOI":"10.1145\/1028976.1028986"},{"key":"13_CR24","doi-asserted-by":"crossref","unstructured":"Nystrom, N., Qi, X., Myers, A.C.: J&: nested intersection for scalable software composition. In: Proceedings of OOPSLA \u201906, pp. 21\u201336 (2006)","DOI":"10.1145\/1167473.1167476"},{"key":"13_CR25","doi-asserted-by":"crossref","unstructured":"Nystrom, N., Saraswat, V., Palsberg, J., Grothoff, C.: Constrained types for object-oriented languages. In: Proceedings of OOPSLA \u201908, pp. 457\u2013474 (2008)","DOI":"10.1145\/1449764.1449800"},{"key":"13_CR26","unstructured":"Odersky, M.: The Scala Language Specification. EPFL, Version 2.7 edn. (March 2009)"},{"key":"13_CR27","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"crossref","first-page":"201","DOI":"10.1007\/978-3-540-45070-2_10","volume-title":"ECOOP 2003 - Object-Oriented Programming","author":"M. Odersky","year":"2003","unstructured":"Odersky, M., Cremet, V., R\u00f6ckl, C., Zenger, M.: A nominal theory of objects with dependent types. In: Cardelli, L. (ed.) ECOOP 2003. LNCS, vol.\u00a02743, pp. 201\u2013224. Springer, Heidelberg (2003)"},{"key":"13_CR28","doi-asserted-by":"crossref","unstructured":"Odersky, M., Wadler, P.: Pizza into Java: translating theory into practice. In: Proceedings of POPL \u201997, pp. 146\u2013159 (1997)","DOI":"10.1145\/263699.263715"},{"key":"13_CR29","unstructured":"Odersky, M., Zenger, M.: Independently extensible solutions to the expression problem. In: Proc. FOOL 12 (January 2005)"},{"key":"13_CR30","doi-asserted-by":"crossref","unstructured":"Qi, X., Myers, A.C.: Sharing classes between families. In: Proceedings of PLDI \u201909, pp. 281\u2013292 (2009)","DOI":"10.1145\/1542476.1542508"},{"key":"13_CR31","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"336","DOI":"10.1007\/3-540-46425-5_22","volume-title":"Programming Languages and Systems","author":"C.V. Russo","year":"2000","unstructured":"Russo, C.V.: First-class structures for Standard ML. In: Smolka, G. (ed.) ESOP 2000. LNCS, vol.\u00a01782, pp. 336\u2013350. Springer, Heidelberg (2000)"},{"issue":"3","key":"13_CR32","doi-asserted-by":"publisher","first-page":"285","DOI":"10.1017\/S0956796807006405","volume":"18","author":"C. Saito","year":"2008","unstructured":"Saito, C., Igarashi, A., Viroli, M.: Lightweight family polymorphism*. Journal of Functional Programming\u00a018(3), 285\u2013331 (2008)","journal-title":"Journal of Functional Programming"},{"key":"13_CR33","volume-title":"Elements of ML programming (ML97 ed.)","author":"J.D. Ullman","year":"1998","unstructured":"Ullman, J.D.: Elements of ML programming (ML97 ed.). Prentice-Hall, Inc, Upper Saddle River (1998)"}],"container-title":["Lecture Notes in Computer Science","Objects, Models, Components, Patterns"],"original-title":[],"link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-642-13953-6_13.pdf","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2020,11,23]],"date-time":"2020-11-23T21:45:53Z","timestamp":1606167953000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/978-3-642-13953-6_13"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2010]]},"ISBN":["9783642139529","9783642139536"],"references-count":33,"URL":"https:\/\/doi.org\/10.1007\/978-3-642-13953-6_13","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"type":"print","value":"0302-9743"},{"type":"electronic","value":"1611-3349"}],"subject":[],"published":{"date-parts":[[2010]]}}}