{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2024,10,30]],"date-time":"2024-10-30T18:42:58Z","timestamp":1730313778698,"version":"3.28.0"},"publisher-location":"New York, NY, USA","reference-count":48,"publisher":"ACM","content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":[],"published-print":{"date-parts":[[2006,9,16]]},"DOI":"10.1145\/1159861.1159863","type":"proceedings-article","created":{"date-parts":[[2006,10,18]],"date-time":"2006-10-18T22:04:00Z","timestamp":1161209040000},"page":"1-12","update-policy":"http:\/\/dx.doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":24,"title":["Design patterns as higher-order datatype-generic programs"],"prefix":"10.1145","author":[{"given":"Jeremy","family":"Gibbons","sequence":"first","affiliation":[{"name":"Oxford University Computing Laboratory"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2006,9,16]]},"reference":[{"key":"e_1_3_2_1_1_1","unstructured":"A. Alexandrescu. Modern C++ Design. Addison-Wesley 2001.  A. Alexandrescu. Modern C++ Design. Addison-Wesley 2001."},{"volume-title":"Addison-Wesley","year":"1999","author":"Austern M.H.","key":"e_1_3_2_1_2_1"},{"key":"e_1_3_2_1_3_1","series-title":"Lecture Notes in Computer Science","first-page":"28","volume-title":"Advanced Functional Programming","author":"Backhouse R.C.","year":"1998"},{"volume-title":"Prentice-Hall","year":"1998","author":"Bird R.","key":"e_1_3_2_1_4_1"},{"key":"e_1_3_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.5555\/248932"},{"key":"e_1_3_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.1017\/S0956796800001556"},{"key":"e_1_3_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.1145\/581690.581698"},{"first-page":"17","volume-title":"Gibbons and de Moor {20}","author":"Claessen K.","key":"e_1_3_2_1_8_1"},{"volume-title":"Library-Centric Software Design, 2005. OOPSLA workshop.","author":"Dos Reis G.","key":"e_1_3_2_1_9_1"},{"volume-title":"Addison-Wesley","year":"1995","author":"Gamma E.","key":"e_1_3_2_1_11_1"},{"key":"e_1_3_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.1145\/949305.949317"},{"key":"e_1_3_2_1_13_1","doi-asserted-by":"crossref","unstructured":"J.\n       \n      Gibbons\n    .\n      \n  \n   \n  Calculating functional programs. In R. Backhouse R. Crole and J. Gibbons editors Algebraic and Coalgebraic Methods in the Mathematics of Program Construction volume \n  2297\n   of \n  Lecture Notes in Computer Science pages \n  148\n  --\n  203\n  . \n  Springer-Verlag 2002\n  .   J. Gibbons. Calculating functional programs. In R. Backhouse R. Crole and J. Gibbons editors Algebraic and Coalgebraic Methods in the Mathematics of Program Construction volume 2297 of Lecture Notes in Computer Science pages 148--203. Springer-Verlag 2002.","DOI":"10.1007\/3-540-47797-7_5"},{"first-page":"41","volume-title":"Gibbons and de Moor {20}","author":"Gibbons J.","key":"e_1_3_2_1_14_1"},{"key":"e_1_3_2_1_15_1","unstructured":"J. Gibbons. Design patterns as higher-order datatype-generic programs. http:\/\/2005.ecoop.org\/8.html June 2005. Tutorial presented at ECOOP.  J. Gibbons. Design patterns as higher-order datatype-generic programs. http:\/\/2005.ecoop.org\/8.html June 2005. Tutorial presented at ECOOP."},{"key":"e_1_3_2_1_16_1","unstructured":"J. Gibbons. Design patterns as higher-order datatype-generic programs. http:\/\/www.oopsla.org\/2005\/ShowEvent.do?id=121 Oct. 2005. Tutorial presented at OOPSLA.  J. Gibbons. Design patterns as higher-order datatype-generic programs. http:\/\/www.oopsla.org\/2005\/ShowEvent.do?id=121 Oct. 2005. Tutorial presented at OOPSLA."},{"volume-title":"Spring School on Datatype-Generic Programming","year":"2006","author":"Gibbons J.","key":"e_1_3_2_1_17_1"},{"key":"e_1_3_2_1_18_1","doi-asserted-by":"crossref","unstructured":"J. Gibbons. Design patterns as higher-order datatype-generic programs (full version). http:\/\/www.comlab.ox.ac.uk\/jeremy.gibbons\/publications\/#hodgp June 2006.  J. Gibbons. Design patterns as higher-order datatype-generic programs (full version). http:\/\/www.comlab.ox.ac.uk\/jeremy.gibbons\/publications\/#hodgp June 2006.","DOI":"10.1145\/1159861.1159863"},{"volume-title":"Mathematically-Structured Functional Programming","year":"2006","author":"Gibbons J.","key":"e_1_3_2_1_19_1"},{"key":"e_1_3_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-1-349-91518-7"},{"key":"e_1_3_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.1145\/289423.289455"},{"key":"e_1_3_2_1_22_1","doi-asserted-by":"publisher","DOI":"10.1145\/165180.165214"},{"key":"e_1_3_2_1_23_1","doi-asserted-by":"crossref","unstructured":"R.\n       \n      Hinze\n    .\n      \n  \n   \n  Polytypic values possess polykinded types. In R. C.Backhouse and J. N. Oliveira editors Mathematics of Program Construction volume \n  1837\n   of \n  Lecture Notes in Computer Science pages \n  2\n  --\n  27\n  . \n  Springer 2000\n  .   R. Hinze. Polytypic values possess polykinded types. In R. C.Backhouse and J. N. Oliveira editors Mathematics of Program Construction volume 1837 of Lecture Notes in Computer Science pages 2--27. Springer 2000.","DOI":"10.1007\/10722010_2"},{"key":"e_1_3_2_1_24_1","doi-asserted-by":"publisher","DOI":"10.1017\/S0956796806006022"},{"key":"e_1_3_2_1_25_1","doi-asserted-by":"crossref","unstructured":"R.\n       \n      Hinze\n     and \n      \n      \n      J.\n       \n      Jeuring\n      \n  \n  . \n  Generic Haskell: Practice and theory. In R. Backhouse and J. Gibbons editors Summer School on Generic Programming volume \n  2793\n   of \n  Lecture Notes in Computer Science pages \n  1\n  --\n  56\n  . \n  Springer-Verlag 2003\n  .  R. Hinze and J. Jeuring. Generic Haskell: Practice and theory. In R. Backhouse and J. Gibbons editors Summer School on Generic Programming volume 2793 of Lecture Notes in Computer Science pages 1--56. Springer-Verlag 2003.","DOI":"10.1007\/978-3-540-45191-4_1"},{"key":"e_1_3_2_1_26_1","volume-title":"Haskell Workshop","volume":"41","author":"Hinze R.","year":"2000"},{"key":"e_1_3_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.1093\/comjnl\/32.2.98"},{"key":"e_1_3_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.1017\/S0956796899003500"},{"key":"e_1_3_2_1_29_1","doi-asserted-by":"publisher","DOI":"10.1145\/263699.263763"},{"key":"e_1_3_2_1_30_1","doi-asserted-by":"publisher","DOI":"10.1017\/S0956796898003128"},{"key":"e_1_3_2_1_31_1","doi-asserted-by":"publisher","DOI":"10.1016\/0167-6423(95)00015-1"},{"key":"e_1_3_2_1_32_1","doi-asserted-by":"crossref","unstructured":"G.\n       \n      Kiczales J.\n       \n      Lamping A.\n       \n      Menhdhekar C.\n       \n      Maeda C.\n       \n      Lopes J.-M.\n       \n      Loingtier and \n      \n      \n      J.\n       \n      Irwin\n      \n  \n  . \n  Aspect-oriented programming. In M. Ak\u015fit and S. Matsuoka editors European Conference on Object-Oriented Programming volume \n  1241\n   of \n  Lecture Notes in Computer Science pages \n  220\n  --\n  242\n  . \n  Springer-Verlag Berlin Heidelberg and New York 1997\n  .  G. Kiczales J. Lamping A. Menhdhekar C. Maeda C. Lopes J.-M. Loingtier and J. Irwin. Aspect-oriented programming. In M. Ak\u015fit and S. Matsuoka editors European Conference on Object-Oriented Programming volume 1241 of Lecture Notes in Computer Science pages 220--242. Springer-Verlag Berlin Heidelberg and New York 1997.","DOI":"10.1007\/BFb0053381"},{"volume-title":"Utrecht University","year":"2004","author":"L\u00f6h A.","key":"e_1_3_2_1_33_1"},{"key":"e_1_3_2_1_34_1","doi-asserted-by":"publisher","DOI":"10.1016\/0167-6423(90)90023-7"},{"key":"e_1_3_2_1_35_1","doi-asserted-by":"publisher","DOI":"10.1017\/S0956796807006326"},{"key":"e_1_3_2_1_36_1","doi-asserted-by":"crossref","unstructured":"E.\n       \n      Meijer M.\n       \n      Fokkinga and \n      \n      \n      R.\n       \n      Paterson\n      \n  \n  . \n  Functional programming with bananas lenses envelopes and barbed wire. In J. Hughes editor 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-Verlag 1991\n  .   E. Meijer M. Fokkinga and R. Paterson. Functional programming with bananas lenses envelopes and barbed wire. In J. Hughes editor Functional Programming Languages and Computer Architecture volume 523 of Lecture Notes in Computer Science pages 124--144. Springer-Verlag 1991.","DOI":"10.1007\/3540543961_7"},{"key":"e_1_3_2_1_37_1","doi-asserted-by":"crossref","unstructured":"R. Milner M. Tofte R. Harper and D. MacQueen. The Definition of Standard ML. MIT Press revised edition 1997.   R. Milner M. Tofte R. Harper and D. MacQueen. The Definition of Standard ML. MIT Press revised edition 1997.","DOI":"10.7551\/mitpress\/2319.001.0001"},{"volume-title":"Object World","year":"1996","author":"Norvig P.","key":"e_1_3_2_1_38_1"},{"key":"e_1_3_2_1_39_1","doi-asserted-by":"publisher","DOI":"10.1145\/1088348.1088358"},{"key":"e_1_3_2_1_40_1","doi-asserted-by":"publisher","DOI":"10.5555\/645980.674267"},{"key":"e_1_3_2_1_41_1","doi-asserted-by":"crossref","unstructured":"L. C. Paulson. ML for the Working Programmer. Cambridge University Press second edition 1996.   L. C. Paulson. ML for the Working Programmer. Cambridge University Press second edition 1996.","DOI":"10.1017\/CBO9780511811326"},{"volume-title":"Cambridge University Press","year":"2003","author":"Jones S. Peyton","key":"e_1_3_2_1_42_1"},{"volume-title":"MIT","year":"2002","author":"Sullivan G. T.","key":"e_1_3_2_1_43_1"},{"volume-title":"High Confidence Software and Systems Conference. National Security Agency","year":"2003","author":"Team The Programatica","key":"e_1_3_2_1_44_1"},{"key":"e_1_3_2_1_45_1","doi-asserted-by":"publisher","DOI":"10.1145\/99370.99404"},{"key":"e_1_3_2_1_46_1","doi-asserted-by":"publisher","DOI":"10.1016\/0304-3975(90)90147-A"},{"volume-title":"Program Design Calculi: Proceedings of the Marktoberdorf Summer School","year":"1992","author":"Wadler P.","key":"e_1_3_2_1_47_1"},{"key":"e_1_3_2_1_48_1","unstructured":"P. Wadler. The expression problem. Posting to java-genericity mailing list 12th Nov 1998.  P. Wadler. The expression problem. Posting to java-genericity mailing list 12th Nov 1998."},{"key":"e_1_3_2_1_49_1","doi-asserted-by":"publisher","DOI":"10.5555\/551789.853520"}],"event":{"name":"ICFP06: ACM SIGPLAN International Conference on Functional Programming","sponsor":["SIGPLAN ACM Special Interest Group on Programming Languages","ACM Association for Computing Machinery"],"location":"Portland Oregon USA","acronym":"ICFP06"},"container-title":["Proceedings of the 2006 ACM SIGPLAN workshop on Generic programming"],"original-title":[],"link":[{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/1159861.1159863","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2023,1,12]],"date-time":"2023-01-12T08:49:18Z","timestamp":1673513358000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1159861.1159863"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2006,9,16]]},"references-count":48,"alternative-id":["10.1145\/1159861.1159863","10.1145\/1159861"],"URL":"https:\/\/doi.org\/10.1145\/1159861.1159863","relation":{},"subject":[],"published":{"date-parts":[[2006,9,16]]},"assertion":[{"value":"2006-09-16","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}