{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,6,19]],"date-time":"2025-06-19T04:34:20Z","timestamp":1750307660807,"version":"3.41.0"},"publisher-location":"New York, NY, USA","reference-count":45,"publisher":"ACM","license":[{"start":{"date-parts":[[2008,9,20]],"date-time":"2008-09-20T00:00:00Z","timestamp":1221868800000},"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":[[2008,9,20]]},"DOI":"10.1145\/1411318.1411323","type":"proceedings-article","created":{"date-parts":[[2008,9,23]],"date-time":"2008-09-23T13:39:01Z","timestamp":1222177141000},"page":"25-36","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":12,"title":["Scala for generic programmers"],"prefix":"10.1145","author":[{"given":"Bruno C.d.S.","family":"Oliveira","sequence":"first","affiliation":[{"name":"University of Oxford, Oxford, United Kingdom"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Jeremy","family":"Gibbons","sequence":"additional","affiliation":[{"name":"University of Oxford, Oxford, United Kingdom"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2008,9,20]]},"reference":[{"key":"e_1_3_2_1_1_1","doi-asserted-by":"publisher","DOI":"10.5555\/230849.230854"},{"key":"e_1_3_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.entcs.2005.11.061"},{"key":"e_1_3_2_1_3_1","doi-asserted-by":"publisher","DOI":"10.1145\/581690.581698"},{"volume-title":"University of Calgary","year":"1992","author":"Cockett R.","key":"e_1_3_2_1_4_1"},{"volume-title":"Brown University","year":"1989","author":"Cook W. R.","key":"e_1_3_2_1_5_1"},{"volume-title":"Workshop on Foundations of Software Engineering","year":"2000","author":"Garrigue J.","key":"e_1_3_2_1_7_1"},{"key":"e_1_3_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1145\/1159861.1159863"},{"key":"e_1_3_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1017\/S0956796809007291"},{"key":"e_1_3_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1145\/227699.227700"},{"key":"e_1_3_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1145\/174675.176927"},{"key":"e_1_3_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.1017\/S0956796806006022"},{"volume-title":"LNCS 2793: Summer School on Generic Programming","year":"2002","author":"Hinze R.","key":"e_1_3_2_1_13_1"},{"key":"e_1_3_2_1_14_1","doi-asserted-by":"crossref","unstructured":"R. Hinze and A. L\u00f6h. Generic programming now! In LNCS 4719: Datatype-Generic Programming 2007.   R. Hinze and A. L\u00f6h. Generic programming now! In LNCS 4719: Datatype-Generic Programming 2007.","DOI":"10.1007\/978-3-540-76786-2_3"},{"volume-title":"Haskell Workshop","year":"2000","author":"Hinze R.","key":"e_1_3_2_1_15_1"},{"key":"e_1_3_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.1007\/11737414_3"},{"volume-title":"Haskell Workshop","year":"2001","author":"Kahl W.","key":"e_1_3_2_1_17_1"},{"key":"e_1_3_2_1_18_1","doi-asserted-by":"publisher","DOI":"10.1145\/604174.604179"},{"key":"e_1_3_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.1145\/1086365.1086391"},{"key":"e_1_3_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1145\/174675.176926"},{"volume-title":"PWS Publishing","year":"1996","author":"Lieberherr K.","key":"e_1_3_2_1_21_1"},{"volume-title":"Utrecht University","year":"2004","author":"L\u00f6h A.","key":"e_1_3_2_1_22_1"},{"key":"e_1_3_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.1145\/1140335.1140352"},{"key":"e_1_3_2_1_24_1","doi-asserted-by":"publisher","DOI":"10.1017\/S0956796807006326"},{"key":"e_1_3_2_1_25_1","doi-asserted-by":"publisher","DOI":"10.1007\/BF01211391"},{"volume-title":"LNCS 925: Advanced Functional Programming","year":"1995","author":"Meijer E.","key":"e_1_3_2_1_26_1"},{"key":"e_1_3_2_1_27_1","unstructured":"A. Moors. Code-follows-type programming in Scala. http:\/\/www.cs.kuleuven.be\/~adriaan\/?q=cft_intro June 2007.  A. Moors. Code-follows-type programming in Scala. http:\/\/www.cs.kuleuven.be\/~adriaan\/?q=cft_intro June 2007."},{"key":"e_1_3_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.1145\/1159861.1159875"},{"key":"e_1_3_2_1_29_1","doi-asserted-by":"publisher","DOI":"10.1145\/1449764.1449798"},{"key":"e_1_3_2_1_31_1","unstructured":"M. Odersky. Poor man's type classes. http:\/\/lamp.epfl.ch\/~odersky\/talks\/wg2.8-boston06.pdf July 2006.  M. Odersky. Poor man's type classes. http:\/\/lamp.epfl.ch\/~odersky\/talks\/wg2.8-boston06.pdf July 2006."},{"key":"e_1_3_2_1_32_1","unstructured":"M. Odersky. Scala by example. http:\/\/scala.epfl.ch\/docu\/files\/ScalaIntro.pdf May 2007.  M. Odersky. Scala by example. http:\/\/scala.epfl.ch\/docu\/files\/ScalaIntro.pdf May 2007."},{"key":"e_1_3_2_1_33_1","unstructured":"M. Odersky. The Scala language specification version 2.4. http:\/\/scala.epfl.ch\/docu\/files\/ScalaReference.pdf May 2007.  M. Odersky. The Scala language specification version 2.4. http:\/\/scala.epfl.ch\/docu\/files\/ScalaReference.pdf May 2007."},{"key":"e_1_3_2_1_34_1","doi-asserted-by":"publisher","DOI":"10.1145\/237721.237729"},{"key":"e_1_3_2_1_35_1","doi-asserted-by":"publisher","DOI":"10.1145\/1094811.1094815"},{"volume-title":"University of Oxford","year":"2007","author":"Oliveira B. C. d. S.","key":"e_1_3_2_1_36_1"},{"key":"e_1_3_2_1_37_1","doi-asserted-by":"publisher","DOI":"10.1145\/1411318.1411323"},{"key":"e_1_3_2_1_38_1","unstructured":"B. C. d. S. Oliveira and M. Sulzmann. Objects to unify type classes and GADTs. http:\/\/www.comlab.ox.ac.uk\/people\/Bruno.Oliveira\/objects.pdf Apr. 2008.  B. C. d. S. Oliveira and M. Sulzmann. Objects to unify type classes and GADTs. http:\/\/www.comlab.ox.ac.uk\/people\/Bruno.Oliveira\/objects.pdf Apr. 2008."},{"key":"e_1_3_2_1_39_1","first-page":"109","volume-title":"Trends in Functional Programming","author":"Oliveira B. C. d. S.","year":"2006"},{"key":"e_1_3_2_1_40_1","doi-asserted-by":"publisher","DOI":"10.1145\/1159803.1159811"},{"key":"e_1_3_2_1_42_1","first-page":"248","volume-title":"LNCS 2743: European Conference on Object-Oriented Programming","author":"Sch\u00e4rli N.","year":"2003"},{"key":"e_1_3_2_1_43_1","unstructured":"M. Schinz. A Scala tutorial for Java programmers. http:\/\/scala.epfl.ch\/docu\/files\/ScalaTutorial.pdf May 2007.  M. Schinz. A Scala tutorial for Java programmers. http:\/\/scala.epfl.ch\/docu\/files\/ScalaTutorial.pdf May 2007."},{"key":"e_1_3_2_1_44_1","doi-asserted-by":"publisher","DOI":"10.1145\/581690.581691"},{"volume-title":"Program Design Calculi","year":"1993","author":"Wadler P.","key":"e_1_3_2_1_45_1"},{"key":"e_1_3_2_1_46_1","unstructured":"P. Wadler. The expression problem. Java Genericity Mailing list Nov. 1998. URL http:\/\/www.cse.ohio-state.edu\/~gb\/cis888.07g\/java-genericity\/20.  P. Wadler. The expression problem. Java Genericity Mailing list Nov. 1998. URL http:\/\/www.cse.ohio-state.edu\/~gb\/cis888.07g\/java-genericity\/20."},{"key":"e_1_3_2_1_47_1","unstructured":"G. Washburn. Revisiting higher-rank impredicative polymorphism in Scala. http:\/\/existentialtype.net\/2008\/05\/26\/revisiting-higher-rank-impredicat%ive-polymorphism-in-scala\/ May 2008.  G. Washburn. Revisiting higher-rank impredicative polymorphism in Scala. http:\/\/existentialtype.net\/2008\/05\/26\/revisiting-higher-rank-impredicat%ive-polymorphism-in-scala\/ May 2008."},{"key":"e_1_3_2_1_48_1","doi-asserted-by":"publisher","DOI":"10.1145\/1159842.1159844"}],"event":{"name":"ICFP08: ACM SIGPLAN International Conference on Functional Programming","sponsor":["SIGPLAN ACM Special Interest Group on Programming Languages","ACM Association for Computing Machinery"],"location":"Victoria BC Canada","acronym":"ICFP08"},"container-title":["Proceedings of the ACM SIGPLAN workshop on Generic programming"],"original-title":[],"link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1411318.1411323","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/1411318.1411323","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T13:29:29Z","timestamp":1750253369000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1411318.1411323"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2008,9,20]]},"references-count":45,"alternative-id":["10.1145\/1411318.1411323","10.1145\/1411318"],"URL":"https:\/\/doi.org\/10.1145\/1411318.1411323","relation":{},"subject":[],"published":{"date-parts":[[2008,9,20]]},"assertion":[{"value":"2008-09-20","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}