{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,6,19]],"date-time":"2025-06-19T04:55:37Z","timestamp":1750308937068,"version":"3.41.0"},"publisher-location":"New York, NY, USA","reference-count":27,"publisher":"ACM","license":[{"start":{"date-parts":[[2012,9,12]],"date-time":"2012-09-12T00:00:00Z","timestamp":1347408000000},"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":[[2012,9,12]]},"DOI":"10.1145\/2364394.2364397","type":"proceedings-article","created":{"date-parts":[[2012,9,12]],"date-time":"2012-09-12T13:01:27Z","timestamp":1347454887000},"page":"13-24","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":12,"title":["The right kind of generic programming"],"prefix":"10.1145","author":[{"given":"Jos\u00e9 Pedro","family":"Magalh\u00e3es","sequence":"first","affiliation":[{"name":"University of Oxford, Oxford, United Kingdom"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2012,9,12]]},"reference":[{"key":"e_1_3_2_1_1_1","doi-asserted-by":"crossref","unstructured":"Richard\n       \n      Bird\n     and \n      \n      \n      Lambert\n       \n      Meertens\n    .\n      \n  \n   \n  Nested datatypes. In Johan Jeuring editor Mathematics of Program Construction: 4th International Conference volume \n  1422\n   of \n  Lecture Notes in Computer Science pages \n  52\n  --\n  67\n  . \n  Springer 1998\n  .   Richard Bird and Lambert Meertens. Nested datatypes. In Johan Jeuring editor Mathematics of Program Construction: 4th International Conference volume 1422 of Lecture Notes in Computer Science pages 52--67. Springer 1998.","DOI":"10.1007\/BFb0054285"},{"key":"e_1_3_2_1_2_1","unstructured":"Manuel M. T. Chakravarty Gabriel C. Ditu and Roman Leshchinskiy. Instant generics: Fast and easy 2009. Available at http:\/\/www.cse.unsw.edu.au\/~chak\/papers\/CDL09.html.  Manuel M. T. Chakravarty Gabriel C. Ditu and Roman Leshchinskiy. Instant generics: Fast and easy 2009. Available at http:\/\/www.cse.unsw.edu.au\/~chak\/papers\/CDL09.html."},{"key":"e_1_3_2_1_3_1","doi-asserted-by":"publisher","DOI":"10.1145\/2364506.2364522"},{"key":"e_1_3_2_1_4_1","unstructured":"Jeremy\n       \n      Gibbons\n    .\n      \n  \n   \n  Datatype-generic programming. In Roland Backhouse Jeremy Gibbons Ralf Hinze and Johan Jeuring editors Spring School on Datatype-Generic Programming volume \n  4719\n   of \n  Lecture Notes in Computer Science\n  . \n  Springer-Verlag 2007\n  . 10.1007\/978-3-540-76786-2.   Jeremy Gibbons. Datatype-generic programming. In Roland Backhouse Jeremy Gibbons Ralf Hinze and Johan Jeuring editors Spring School on Datatype-Generic Programming volume 4719 of Lecture Notes in Computer Science. Springer-Verlag 2007. 10.1007\/978-3-540-76786-2."},{"volume-title":"Universiteit Utrecht","year":"2009","author":"Hesselink Erik","key":"e_1_3_2_1_5_1"},{"key":"e_1_3_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.1145\/263699.263763"},{"key":"e_1_3_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.1145\/604174.604179"},{"key":"e_1_3_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1145\/1016850.1016883"},{"key":"e_1_3_2_1_9_1","first-page":"30","volume-title":"Universiteit Utrecht, 2004","author":"L\u00f6h Andres","year":"2004"},{"key":"e_1_3_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1145\/2036918.2036920"},{"key":"e_1_3_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1145\/1863523.1863529"},{"key":"e_1_3_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.1145\/1706356.1706366"},{"key":"e_1_3_2_1_13_1","doi-asserted-by":"crossref","unstructured":"Erik\n       \n      Meijer Maarten\n       \n      Fokkinga and \n      \n      \n      Ross\n       \n      Paterson\n    .\n      \n  \n   \n  Functional programming with bananas lenses envelopes and barbed wire. In John Hughes editor Proceedings of the 5th ACM Conference on Functional Programming Languages and Computer Architecture volume \n  523\n   of \n  Lecture Notes in Computer Science pages \n  124\n  --\n  144\n  . \n  Springer 1991\n  . 10.1007\/3540543961_7.   Erik Meijer Maarten Fokkinga and Ross Paterson. Functional programming with bananas lenses envelopes and barbed wire. In John Hughes editor Proceedings of the 5th ACM Conference on Functional Programming Languages and Computer Architecture volume 523 of Lecture Notes in Computer Science pages 124--144. Springer 1991. 10.1007\/3540543961_7.","DOI":"10.1007\/3540543961_7"},{"volume-title":"The University of Nottingham","year":"2007","author":"Morris Peter","key":"e_1_3_2_1_14_1"},{"key":"e_1_3_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.1145\/1411318.1411321"},{"key":"e_1_3_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.1017\/S0956796810000183"},{"volume-title":"Chalmers University of Technology","year":"2007","author":"Norell Ulf","key":"e_1_3_2_1_17_1"},{"key":"e_1_3_2_1_18_1","doi-asserted-by":"publisher","DOI":"10.1017\/S0956796803000315"},{"key":"e_1_3_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.1145\/1411286.1411301"},{"key":"e_1_3_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1145\/1596550.1596585"},{"key":"e_1_3_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.1145\/1596550.1596599"},{"key":"e_1_3_2_1_22_1","unstructured":"Tim\n       \n      Sheard\n    .\n      \n  \n   \n  Generic programming programming in \u03a9mega. In Roland Backhouse Jeremy Gibbons Ralf Hinze and Johan Jeuring editors Datatype-Generic Programming volume \n  4719\n   of \n  Lecture Notes in Computer Science pages \n  258\n  --\n  284\n  . \n  Springer 2006\n  . 10.1007\/978-3-540-76786-2_5.   Tim Sheard. Generic programming programming in \u03a9mega. In Roland Backhouse Jeremy Gibbons Ralf Hinze and Johan Jeuring editors Datatype-Generic Programming volume 4719 of Lecture Notes in Computer Science pages 258--284. Springer 2006. 10.1007\/978-3-540-76786-2_5."},{"key":"e_1_3_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.1145\/636517.636528"},{"key":"e_1_3_2_1_24_1","doi-asserted-by":"publisher","DOI":"10.1145\/1190315.1190324"},{"key":"e_1_3_2_1_25_1","doi-asserted-by":"publisher","DOI":"10.1145\/1707790.1707799"},{"key":"e_1_3_2_1_26_1","doi-asserted-by":"publisher","DOI":"10.1145\/1926385.1926411"},{"key":"e_1_3_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.1145\/2103786.2103795"}],"event":{"name":"ICFP'12: ACM SIGPLAN International Conference on Functional Programming","sponsor":["SIGPLAN ACM Special Interest Group on Programming Languages"],"location":"Copenhagen Denmark","acronym":"ICFP'12"},"container-title":["Proceedings of the 8th ACM SIGPLAN workshop on Generic programming"],"original-title":[],"link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2364394.2364397","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/2364394.2364397","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T21:36:59Z","timestamp":1750282619000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2364394.2364397"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2012,9,12]]},"references-count":27,"alternative-id":["10.1145\/2364394.2364397","10.1145\/2364394"],"URL":"https:\/\/doi.org\/10.1145\/2364394.2364397","relation":{},"subject":[],"published":{"date-parts":[[2012,9,12]]},"assertion":[{"value":"2012-09-12","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}