{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,6,19]],"date-time":"2025-06-19T04:51:26Z","timestamp":1750308686955,"version":"3.41.0"},"publisher-location":"New York, NY, USA","reference-count":52,"publisher":"ACM","license":[{"start":{"date-parts":[[2014,9,23]],"date-time":"2014-09-23T00:00:00Z","timestamp":1411430400000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":[],"published-print":{"date-parts":[[2014,9,23]]},"DOI":"10.1145\/2647508.2647518","type":"proceedings-article","created":{"date-parts":[[2014,8,21]],"date-time":"2014-08-21T12:19:23Z","timestamp":1408623563000},"page":"5-16","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":3,"title":["Generic traits for the Java platform"],"prefix":"10.1145","author":[{"given":"Lorenzo","family":"Bettini","sequence":"first","affiliation":[{"name":"University of Torino, Italy"}]},{"given":"Ferruccio","family":"Damiani","sequence":"additional","affiliation":[{"name":"University of Torino, Italy"}]}],"member":"320","published-online":{"date-parts":[[2014,9,23]]},"reference":[{"key":"e_1_3_2_1_1_1","unstructured":"Google guice. http:\/\/code.google.com\/p\/google-guice.  Google guice. http:\/\/code.google.com\/p\/google-guice."},{"key":"e_1_3_2_1_2_1","unstructured":"Xtext. http:\/\/www.eclipse.org\/Xtext.  Xtext. http:\/\/www.eclipse.org\/Xtext."},{"key":"e_1_3_2_1_3_1","doi-asserted-by":"publisher","DOI":"10.1145\/937563.937567"},{"key":"e_1_3_2_1_4_1","volume-title":"Java generics and C++ templates. C\/C++ Users Journal, 22(7):16--21","author":"Batov V.","year":"2004","unstructured":"V. Batov . Java generics and C++ templates. C\/C++ Users Journal, 22(7):16--21 , 2004 . V. Batov. Java generics and C++ templates. C\/C++ Users Journal, 22(7):16--21, 2004."},{"key":"e_1_3_2_1_5_1","volume-title":"Test Driven Development: By Example","author":"Beck K.","year":"2003","unstructured":"K. Beck . Test Driven Development: By Example . Addison-Wesley , 2003 . K. Beck. Test Driven Development: By Example. Addison-Wesley, 2003."},{"key":"e_1_3_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.5555\/1808999"},{"key":"e_1_3_2_1_7_1","series-title":"Communications in Computer and Information Science","doi-asserted-by":"crossref","first-page":"107","DOI":"10.1007\/978-3-642-20116-5_9","volume-title":"Software and Data Technologies","author":"Bergel A.","year":"2011","unstructured":"A. Bergel and L. Bettini . Reverse Generics: Parametrization after the Fact . In Software and Data Technologies , volume 50 of Communications in Computer and Information Science , pages 107 -- 123 . Springer , 2011 . A. Bergel and L. Bettini. Reverse Generics: Parametrization after the Fact. In Software and Data Technologies, volume 50 of Communications in Computer and Information Science, pages 107--123. Springer, 2011."},{"key":"e_1_3_2_1_8_1","first-page":"363","volume-title":"ICSOFT","author":"Bergel A.","year":"2012","unstructured":"A. Bergel and L. Bettini . Generics and Reverse Generics for Pharo . In ICSOFT , pages 363 -- 372 . SciTePress , 2012 . A. Bergel and L. Bettini. Generics and Reverse Generics for Pharo. In ICSOFT, pages 363--372. SciTePress, 2012."},{"key":"e_1_3_2_1_9_1","series-title":"Communications in Computer and Information Science","doi-asserted-by":"crossref","first-page":"66","DOI":"10.1007\/978-3-642-45404-2_5","volume-title":"Software and Data Technologies","author":"Bergel A.","year":"2013","unstructured":"A. Bergel and L. Bettini . Generic Programming in Pharo . In Software and Data Technologies , volume 411 of Communications in Computer and Information Science , pages 66 -- 79 . Springer , 2013 . A. Bergel and L. Bettini. Generic Programming in Pharo. In Software and Data Technologies, volume 411 of Communications in Computer and Information Science, pages 66--79. Springer, 2013."},{"key":"e_1_3_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.cl.2007.05.003"},{"key":"e_1_3_2_1_11_1","volume-title":"Packt Publishing","author":"Bettini L.","year":"2013","unstructured":"L. Bettini . Implementing Domain-Specific Languages with Xtext and Xtend . Packt Publishing , 2013 . L. Bettini. Implementing Domain-Specific Languages with Xtext and Xtend. Packt Publishing, 2013."},{"key":"e_1_3_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.1145\/1411732.1411753"},{"key":"e_1_3_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.scico.2012.11.003"},{"key":"e_1_3_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1145\/2500828.2500835"},{"key":"e_1_3_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.scico.2011.10.006"},{"key":"e_1_3_2_1_16_1","volume-title":"Implementing type-safe software product lines using parametric traits. Science of Computer Programming","author":"Bettini L.","year":"2013","unstructured":"L. Bettini , F. Damiani , and I. Schaefer . Implementing type-safe software product lines using parametric traits. Science of Computer Programming , 2013 . In press , http:\/\/dx.doi.org\/10.1016\/j.scico.2013.07.016. 10.1016\/j.scico.2013.07.016 L. Bettini, F. Damiani, and I. Schaefer. Implementing type-safe software product lines using parametric traits. Science of Computer Programming, 2013. In press, http:\/\/dx.doi.org\/10.1016\/j.scico.2013.07.016."},{"key":"e_1_3_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.scico.2011.06.007"},{"key":"e_1_3_2_1_18_1","series-title":"The Kluwer International Series in Engineering and Computer Science","first-page":"1","volume-title":"Technology of Object-Oriented Languages, Systems and Architectures","author":"Bettini L.","year":"2003","unstructured":"L. Bettini , M. Loreti , and B. Venneri . On Multiple Inheritance in Java . In Technology of Object-Oriented Languages, Systems and Architectures , volume 732 of The Kluwer International Series in Engineering and Computer Science , pages 1 -- 15 . Springer , 2003 . L. Bettini, M. Loreti, and B. Venneri. On Multiple Inheritance in Java. In Technology of Object-Oriented Languages, Systems and Architectures, volume 732 of The Kluwer International Series in Engineering and Computer Science, pages 1--15. Springer, 2003."},{"key":"e_1_3_2_1_19_1","volume-title":"Electronic proceedings of FTfJP","author":"Bono V.","year":"2007","unstructured":"V. Bono , F. Damiani , and E. Giachino . Separating Type, Behavior, and State to Achieve Very Fine-grained Reuse . In Electronic proceedings of FTfJP , 2007 . V. Bono, F. Damiani, and E. Giachino. Separating Type, Behavior, and State to Achieve Very Fine-grained Reuse. In Electronic proceedings of FTfJP, 2007."},{"key":"e_1_3_2_1_20_1","series-title":"IFIP","first-page":"367","volume-title":"TCS (Track B)","author":"Bono V.","year":"2008","unstructured":"V. Bono , F. Damiani , and E. Giachino . On Traits and Types in a Java-like setting . In TCS (Track B) , volume 273 of IFIP , pages 367 -- 382 . Springer , 2008 . V. Bono, F. Damiani, and E. Giachino. On Traits and Types in a Java-like setting. In TCS (Track B), volume 273 of IFIP, pages 367--382. Springer, 2008."},{"key":"e_1_3_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.1145\/2647508.2647520"},{"key":"e_1_3_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.1145\/97945.97982"},{"key":"e_1_3_2_1_24_1","doi-asserted-by":"publisher","DOI":"10.1145\/286942.286957"},{"key":"e_1_3_2_1_25_1","doi-asserted-by":"publisher","DOI":"10.1145\/99370.99392"},{"key":"e_1_3_2_1_26_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.cl.2008.05.004"},{"key":"e_1_3_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.1145\/96709.96721"},{"key":"e_1_3_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.1145\/2076674.2076682"},{"key":"e_1_3_2_1_29_1","doi-asserted-by":"publisher","DOI":"10.1007\/s00165-013-0278-3"},{"key":"e_1_3_2_1_30_1","doi-asserted-by":"publisher","DOI":"10.1145\/1119479.1119483"},{"key":"e_1_3_2_1_31_1","doi-asserted-by":"publisher","DOI":"10.1145\/2371401.2371419"},{"key":"e_1_3_2_1_32_1","volume-title":"FOOL","author":"Fisher K.","year":"2004","unstructured":"K. Fisher and J. Reppy . A typed calculus of traits . In FOOL , 2004 . K. Fisher and J. Reppy. A typed calculus of traits. In FOOL, 2004."},{"key":"e_1_3_2_1_33_1","doi-asserted-by":"publisher","DOI":"10.1145\/268946.268961"},{"key":"e_1_3_2_1_34_1","unstructured":"M. Fowler. Inversion of Control Containers and the Dependency Injection pattern. http:\/\/www.martinfowler.com\/articles\/injection.html Jan. 2004.  M. Fowler. Inversion of Control Containers and the Dependency Injection pattern. http:\/\/www.martinfowler.com\/articles\/injection.html Jan. 2004."},{"key":"e_1_3_2_1_35_1","volume-title":"Design Patterns: Elements of Reusable Object-Oriented Software","author":"Gamma E.","year":"1995","unstructured":"E. Gamma , R. Helm , R. Johnson , and J. Vlissides . Design Patterns: Elements of Reusable Object-Oriented Software . Addison-Wesley , 1995 . E. Gamma, R. Helm, R. Johnson, and J. Vlissides. Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, 1995."},{"key":"e_1_3_2_1_36_1","doi-asserted-by":"publisher","DOI":"10.1145\/997140.997144"},{"key":"e_1_3_2_1_37_1","doi-asserted-by":"publisher","DOI":"10.1145\/323779.323748"},{"key":"e_1_3_2_1_38_1","doi-asserted-by":"publisher","DOI":"10.1145\/503502.503505"},{"key":"e_1_3_2_1_39_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.ic.2012.02.004"},{"key":"e_1_3_2_1_40_1","doi-asserted-by":"publisher","DOI":"10.1145\/1101908.1101921"},{"issue":"1","key":"e_1_3_2_1_41_1","first-page":"1","article-title":"Encapsulation and composition as orthogonal operators on mixins: A solution to multiple inheritance problems","volume":"3","author":"Limberghen M.","year":"1996","unstructured":"M. Limberghen and T. Mens . Encapsulation and composition as orthogonal operators on mixins: A solution to multiple inheritance problems . Object Oriented Systems , 3 ( 1 ): 1 -- 30 , 1996 . M. Limberghen and T. Mens. Encapsulation and composition as orthogonal operators on mixins: A solution to multiple inheritance problems. Object Oriented Systems, 3(1):1--30, 1996.","journal-title":"Object Oriented Systems"},{"key":"e_1_3_2_1_42_1","doi-asserted-by":"publisher","DOI":"10.1145\/1330017.1330022"},{"key":"e_1_3_2_1_43_1","doi-asserted-by":"publisher","DOI":"10.5555\/515230"},{"key":"e_1_3_2_1_44_1","doi-asserted-by":"publisher","DOI":"10.5555\/261119"},{"key":"e_1_3_2_1_45_1","doi-asserted-by":"publisher","DOI":"10.1145\/1094855.1094963"},{"key":"e_1_3_2_1_46_1","doi-asserted-by":"publisher","DOI":"10.5381\/jot.2006.5.4.a4"},{"key":"e_1_3_2_1_47_1","volume-title":"Programming Methods Laboratory","author":"Odersky M.","year":"2007","unstructured":"M. Odersky . The Scala Language Specification , version 2.4. Technical report , Programming Methods Laboratory , EPFL , 2007 . M. Odersky. The Scala Language Specification, version 2.4. Technical report, Programming Methods Laboratory, EPFL, 2007."},{"key":"e_1_3_2_1_49_1","doi-asserted-by":"publisher","DOI":"10.1145\/1066129.1066137"},{"key":"e_1_3_2_1_50_1","volume-title":"FOOL\/WOOD","author":"Reppy J.","year":"2006","unstructured":"J. Reppy and A. Turon . A Foundation for Trait-based Metaprogramming . In FOOL\/WOOD , 2006 . J. Reppy and A. Turon. A Foundation for Trait-based Metaprogramming. In FOOL\/WOOD, 2006."},{"key":"e_1_3_2_1_51_1","series-title":"LNCS","first-page":"373","volume-title":"ECOOP","author":"Reppy J.","year":"2007","unstructured":"J. Reppy and A. Turon . Metaprogramming with traits . In ECOOP , volume 4609 of LNCS , pages 373 -- 398 . Springer , 2007 . J. Reppy and A. Turon. Metaprogramming with traits. In ECOOP, volume 4609 of LNCS, pages 373--398. Springer, 2007."},{"key":"e_1_3_2_1_52_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-540-45070-2_12"},{"key":"e_1_3_2_1_53_1","doi-asserted-by":"publisher","DOI":"10.1007\/11531142_20"},{"key":"e_1_3_2_1_54_1","doi-asserted-by":"publisher","DOI":"10.1145\/28697.28702"}],"event":{"name":"PPPJ '14: 2014 INTERNATIONAL CONFERENCE ON PRINCIPLES AND PRACTICES OF PROGRAMMING ON THE JAVA PLATFORM VIRTUAL MACHINES, LANGUAGES AND TOOLS","sponsor":["SIGAPP ACM Special Interest Group on Applied Computing","SIGPLAN ACM Special Interest Group on Programming Languages","Sabre Sabre","PK Cracow University of Technology","ACM Association for Computing Machinery"],"location":"Cracow Poland","acronym":"PPPJ '14"},"container-title":["Proceedings of the 2014 International Conference on Principles and Practices of Programming on the Java platform: Virtual machines, Languages, and Tools"],"original-title":[],"link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2647508.2647518","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/2647508.2647518","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T20:01:12Z","timestamp":1750276872000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2647508.2647518"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2014,9,23]]},"references-count":52,"alternative-id":["10.1145\/2647508.2647518","10.1145\/2647508"],"URL":"https:\/\/doi.org\/10.1145\/2647508.2647518","relation":{},"subject":[],"published":{"date-parts":[[2014,9,23]]},"assertion":[{"value":"2014-09-23","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}