{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,6,19]],"date-time":"2025-06-19T04:32:24Z","timestamp":1750307544020,"version":"3.41.0"},"publisher-location":"New York, NY, USA","reference-count":36,"publisher":"ACM","license":[{"start":{"date-parts":[[2009,8,30]],"date-time":"2009-08-30T00:00:00Z","timestamp":1251590400000},"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":[[2009,8,30]]},"DOI":"10.1145\/1596614.1596626","type":"proceedings-article","created":{"date-parts":[[2009,9,1]],"date-time":"2009-09-01T17:53:09Z","timestamp":1251827589000},"page":"85-93","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":7,"title":["Parametric datatype-genericity"],"prefix":"10.1145","author":[{"given":"Jeremy","family":"Gibbons","sequence":"first","affiliation":[{"name":"Oxford University, Oxford, United Kingdom"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Ross","family":"Paterson","sequence":"additional","affiliation":[{"name":"City University, London, United Kingdom"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2009,8,30]]},"reference":[{"key":"e_1_3_2_1_1_1","volume-title":"Generic Programming and the STL","author":"Austern Matthew H.","year":"1999","unstructured":"Matthew H. Austern . Generic Programming and the STL . Addison-Wesley , 1999 . Matthew H. Austern. Generic Programming and the STL. Addison-Wesley, 1999."},{"key":"e_1_3_2_1_2_1","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"crossref","DOI":"10.1007\/b12027","volume-title":"Summer School on Generic Programming","author":"Backhouse Roland","year":"2003","unstructured":"Roland Backhouse and Jeremy Gibbons , editors. Summer School on Generic Programming , volume 2793 of Lecture Notes in Computer Science . Springer-Verlag , 2003 . Roland Backhouse and Jeremy Gibbons, editors. Summer School on Generic Programming, volume 2793 of Lecture Notes in Computer Science. Springer-Verlag, 2003."},{"key":"e_1_3_2_1_3_1","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"crossref","DOI":"10.1007\/978-3-540-76786-2","volume-title":"Spring School on Datatype-Generic Programming","author":"Backhouse Roland","year":"2007","unstructured":"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 . 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."},{"key":"e_1_3_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.5555\/248932"},{"key":"e_1_3_2_1_5_1","volume-title":"Millenial Perspectives in Computer Science. Palgrave","author":"Bird Richard","year":"2000","unstructured":"Richard Bird , Jeremy Gibbons , and Geraint Jones . Program optimisation, naturally . In J. W. Davies, A. W. Roscoe, and J. C. P. Woodcock, editors, Millenial Perspectives in Computer Science. Palgrave , 2000 . Richard Bird, Jeremy Gibbons, and Geraint Jones. Program optimisation, naturally. In J. W. Davies, A. W. Roscoe, and J. C. P. Woodcock, editors, Millenial Perspectives in Computer Science. Palgrave, 2000."},{"key":"e_1_3_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.1145\/6041.6042"},{"key":"e_1_3_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.1017\/CBO9781139172707"},{"key":"e_1_3_2_1_8_1","first-page":"41","volume-title":"Cornerstones in Computing","author":"Gibbons Jeremy","year":"2003","unstructured":"Jeremy Gibbons . Origami programming. In Jeremy Gibbons and Oege de Moor, editors, The Fun of Programming , Cornerstones in Computing , pages 41 -- 60 . Palgrave , 2003 . Jeremy Gibbons. Origami programming. In Jeremy Gibbons and Oege de Moor, editors, The Fun of Programming, Cornerstones in Computing, pages 41--60. Palgrave, 2003."},{"volume-title":"Datatype-generic programming","author":"Gibbons Jeremy","key":"e_1_3_2_1_9_1","unstructured":"Jeremy Gibbons . Datatype-generic programming . In Backhouse et al. {3}. Jeremy Gibbons. Datatype-generic programming. In Backhouse et al. {3}."},{"key":"e_1_3_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1145\/289423.289455"},{"key":"e_1_3_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.1145\/227699.227700"},{"key":"e_1_3_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.1145\/199448.199475"},{"key":"e_1_3_2_1_14_1","volume-title":"Third Haskell Workshop","author":"Hinze Ralf","year":"1999","unstructured":"Ralf Hinze . A generic programming extension for Haskell. In Erik Meijer, editor , Third Haskell Workshop , 1999 . Ralf Hinze. A generic programming extension for Haskell. In Erik Meijer, editor, Third Haskell Workshop, 1999."},{"key":"e_1_3_2_1_15_1","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"crossref","first-page":"2","DOI":"10.1007\/10722010_2","volume-title":"Mathematics of Program Construction","author":"Hinze Ralf","year":"2000","unstructured":"Ralf Hinze . Polytypic values possess polykinded types . In Roland Backhouse and Jos\u00e9 Nuno Oliveira, editors, Mathematics of Program Construction , volume 1837 of Lecture Notes in Computer Science , pages 2 -- 27 . Springer-Verlag , 2000 . Ralf Hinze. Polytypic values possess polykinded types. In Roland Backhouse and Jos\u00e9 Nuno Oliveira, editors, Mathematics of Program Construction, volume 1837 of Lecture Notes in Computer Science, pages 2--27. Springer-Verlag, 2000."},{"key":"e_1_3_2_1_16_1","first-page":"57","volume-title":"Generic Haskell: Applications","author":"Hinze Ralf","unstructured":"Ralf Hinze and Johan Jeuring . Generic Haskell: Applications . In Backhouse and Gibbons {2}, pages 57 -- 97 . Ralf Hinze and Johan Jeuring. Generic Haskell: Applications. In Backhouse and Gibbons {2}, pages 57--97."},{"key":"e_1_3_2_1_17_1","first-page":"1","volume-title":"Generic Haskell: Practice and theory","author":"Hinze Ralf","unstructured":"Ralf Hinze and Johan Jeuring . Generic Haskell: Practice and theory . In Backhouse and Gibbons {2}, pages 1 -- 56 . Ralf Hinze and Johan Jeuring. Generic Haskell: Practice and theory. In Backhouse and Gibbons {2}, pages 1--56."},{"volume-title":"Comparing approaches to generic programming in Haskell","author":"Hinze Ralf","key":"e_1_3_2_1_18_1","unstructured":"Ralf Hinze , Johan Jeuring , and Andres L\u00f6h . Comparing approaches to generic programming in Haskell . In Backhouse et al. {3}. Ralf Hinze, Johan Jeuring, and Andres L\u00f6h. Comparing approaches to generic programming in Haskell. In Backhouse et al. {3}."},{"key":"e_1_3_2_1_20_1","doi-asserted-by":"crossref","unstructured":"Paul\n      Hoogendijk\n     and \n      Roland\n      Backhouse\n    .\n  When do datatypes commute? In Eugenio Moggi and Guiseppe Rosolini editors Category Theory and Computer Science volume \n  1290\n   of \n  Lecture Notes in Computer Science pages \n  242\n  --\n  260\n  . \n  Springer-Verlag September \n  1997\n  .   Paul Hoogendijk and Roland Backhouse. When do datatypes commute? In Eugenio Moggi and Guiseppe Rosolini editors Category Theory and Computer Science volume 1290 of Lecture Notes in Computer Science pages 242--260. Springer-Verlag September 1997.","DOI":"10.1007\/BFb0026992"},{"key":"e_1_3_2_1_21_1","series-title":"Lecture Notes in Computer Science","volume-title":"Advanced Functional Programming","author":"Jeuring Johan","year":"1996","unstructured":"Johan Jeuring and Patrick Jansson . Polytypic programming . In John Launchbury, Erik Meijer, and Tim Sheard, editors, Advanced Functional Programming , volume 1129 of Lecture Notes in Computer Science . Springer--Verlag , 1996 . Johan Jeuring and Patrick Jansson. Polytypic programming. In John Launchbury, Erik Meijer, and Tim Sheard, editors, Advanced Functional Programming, volume 1129 of Lecture Notes in Computer Science. Springer--Verlag, 1996."},{"key":"e_1_3_2_1_22_1","volume-title":"Functional programming with overloading and higher--order polymorphism","author":"Jones Mark P.","year":"1995","unstructured":"Mark P. Jones . Functional programming with overloading and higher--order polymorphism . In Johan Jeuring and Erik Meijer, editors, LNCS 925: Advanced Functional Programming. Springer-Verlag , 1995 . Lecture notes from the First International Spring School on Advanced Functional Programming Techniques, B\u00e5stad, Sweden. Mark P. Jones. Functional programming with overloading and higher--order polymorphism. In Johan Jeuring and Erik Meijer, editors, LNCS 925: Advanced Functional Programming. Springer-Verlag, 1995. Lecture notes from the First International Spring School on Advanced Functional Programming Techniques, B\u00e5stad, Sweden."},{"key":"e_1_3_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.1145\/604174.604179"},{"key":"e_1_3_2_1_24_1","doi-asserted-by":"publisher","DOI":"10.1145\/1016850.1016883"},{"key":"e_1_3_2_1_25_1","doi-asserted-by":"publisher","DOI":"10.1145\/1086365.1086391"},{"key":"e_1_3_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-1-4612-9839-7"},{"key":"e_1_3_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.1007\/BF01211391"},{"key":"e_1_3_2_1_29_1","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"crossref","first-page":"124","DOI":"10.1007\/3540543961_7","volume-title":"Functional Programming Languages and Computer Architecture","author":"Meijer Erik","year":"1991","unstructured":"Erik Meijer , Maarten Fokkinga , and Ross Paterson . Functional programming with bananas, lenses, envelopes and barbed wire . In John Hughes, editor, Functional Programming Languages and Computer Architecture , volume 523 of Lecture Notes in Computer Science , pages 124 -- 144 . Springer-Verlag , 1991 . Erik Meijer, Maarten Fokkinga, and Ross Paterson. Functional programming with bananas, lenses, envelopes and barbed wire. In John Hughes, editor, Functional Programming Languages and Computer Architecture, volume 523 of Lecture Notes in Computer Science, pages 124--144. Springer-Verlag, 1991."},{"key":"e_1_3_2_1_30_1","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"crossref","first-page":"225","DOI":"10.1007\/3-540-15648-8_18","volume-title":"Logics of Programs","author":"Mitchell John C.","year":"1985","unstructured":"John C. Mitchell and Albert R. Meyer . Second-order logical relations . In Rohit Parikh, editor, Logics of Programs , volume 193 of Lecture Notes in Computer Science , pages 225 -- 236 , 1985 . John C. Mitchell and Albert R. Meyer. Second-order logical relations. In Rohit Parikh, editor, Logics of Programs, volume 193 of Lecture Notes in Computer Science, pages 225--236, 1985."},{"key":"e_1_3_2_1_32_1","volume-title":"The Haskell 98 Language and Libraries: The Revised Report","author":"Jones Simon Peyton","year":"2003","unstructured":"Simon Peyton Jones . The Haskell 98 Language and Libraries: The Revised Report . Cambridge University Press , 2003 . Simon Peyton Jones. The Haskell 98 Language and Libraries: The Revised Report. Cambridge University Press, 2003."},{"key":"e_1_3_2_1_33_1","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"crossref","first-page":"408","DOI":"10.1007\/3-540-06859-7_148","volume-title":"Colloque sur la Programmation","author":"Reynolds John C.","year":"1974","unstructured":"John C. Reynolds . Towards a theory of type structure . In B. Robinet, editor, Colloque sur la Programmation , volume 19 of Lecture Notes in Computer Science , pages 408 -- 425 . Springer-Verlag , 1974 . John C. Reynolds. Towards a theory of type structure. In B. Robinet, editor, Colloque sur la Programmation, volume 19 of Lecture Notes in Computer Science, pages 408--425. Springer-Verlag, 1974."},{"key":"e_1_3_2_1_34_1","volume-title":"The Boost Graph Library","author":"Siek Jeremy G.","year":"2002","unstructured":"Jeremy G. Siek , Lie-Quan Lee , and Andrew Lumsdaine . The Boost Graph Library . Addison-Wesley , 2002 . Jeremy G. Siek, Lie-Quan Lee, and Andrew Lumsdaine. The Boost Graph Library. Addison-Wesley, 2002."},{"key":"e_1_3_2_1_35_1","unstructured":"Neil J. A. Sloane. On-line encyclopedia of integer sequences. http:\/\/www.research.att.com\/~njas\/sequences\/. Accessed May 2007.  Neil J. A. Sloane. On-line encyclopedia of integer sequences. http:\/\/www.research.att.com\/~njas\/sequences\/. Accessed May 2007."},{"key":"e_1_3_2_1_36_1","doi-asserted-by":"publisher","DOI":"10.1137\/0211062"},{"key":"e_1_3_2_1_37_1","doi-asserted-by":"crossref","unstructured":"Walid\n      Taha\n    .\n  A gentle introduction to multi-stage programming\n  . In Christian Lengauer Don Batory Charles Consel and Martin Odersky editors Domain-Specific Program Generation number 3016 in \n  Lecture Notes in Computer Science pages \n  30\n  --\n  50\n  . \n  Springer-Verlag 2004\n  .  Walid Taha. A gentle introduction to multi-stage programming. In Christian Lengauer Don Batory Charles Consel and Martin Odersky editors Domain-Specific Program Generation number 3016 in Lecture Notes in Computer Science pages 30--50. Springer-Verlag 2004.","DOI":"10.1007\/978-3-540-25935-0_3"},{"key":"e_1_3_2_1_38_1","volume-title":"Nordic Journal of Computing","author":"Uustalu Tarmo","year":"2001","unstructured":"Tarmo Uustalu , Varmo Vene , and Alberto Pardo . Recursion schemes from comonads . Nordic Journal of Computing , 2001 . Tarmo Uustalu, Varmo Vene, and Alberto Pardo. Recursion schemes from comonads. Nordic Journal of Computing, 2001."},{"issue":"3","key":"e_1_3_2_1_39_1","first-page":"147","article-title":"Functional programming with apomorphisms (corecursion). Proceedings of the Estonian Academy of Sciences: Physics","volume":"47","author":"Vene Varmo","year":"1998","unstructured":"Varmo Vene and Tarmo Uustalu . Functional programming with apomorphisms (corecursion). Proceedings of the Estonian Academy of Sciences: Physics , Mathematics , 47 ( 3 ): 147 -- 161 , 1998 . 9th Nordic Workshop on Programming Theory. Varmo Vene and Tarmo Uustalu. Functional programming with apomorphisms (corecursion). Proceedings of the Estonian Academy of Sciences: Physics, Mathematics, 47(3):147--161, 1998. 9th Nordic Workshop on Programming Theory.","journal-title":"Mathematics"},{"key":"e_1_3_2_1_40_1","doi-asserted-by":"publisher","DOI":"10.1145\/99370.99404"}],"event":{"name":"ICFP '09: ACM SIGPLAN International Conference on Functional Programming","sponsor":["SIGPLAN ACM Special Interest Group on Programming Languages","ACM Association for Computing Machinery"],"location":"Edinburgh Scotland","acronym":"ICFP '09"},"container-title":["Proceedings of the 2009 ACM SIGPLAN workshop on Generic programming"],"original-title":[],"link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1596614.1596626","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/1596614.1596626","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T12:23:28Z","timestamp":1750249408000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1596614.1596626"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2009,8,30]]},"references-count":36,"alternative-id":["10.1145\/1596614.1596626","10.1145\/1596614"],"URL":"https:\/\/doi.org\/10.1145\/1596614.1596626","relation":{},"subject":[],"published":{"date-parts":[[2009,8,30]]},"assertion":[{"value":"2009-08-30","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}