{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2024,9,5]],"date-time":"2024-09-05T23:12:49Z","timestamp":1725577969597},"publisher-location":"Berlin, Heidelberg","reference-count":43,"publisher":"Springer Berlin Heidelberg","isbn-type":[{"type":"print","value":"9783540356318"},{"type":"electronic","value":"9783540356325"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2006]]},"DOI":"10.1007\/11783596_13","type":"book-chapter","created":{"date-parts":[[2006,6,28]],"date-time":"2006-06-28T10:35:02Z","timestamp":1151490902000},"page":"180-208","source":"Crossref","is-referenced-by-count":22,"title":["\u201cScrap Your Boilerplate\u201d Revolutions"],"prefix":"10.1007","author":[{"given":"Ralf","family":"Hinze","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Andres","family":"L\u00f6h","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"297","reference":[{"key":"13_CR1","doi-asserted-by":"publisher","first-page":"470","DOI":"10.1145\/263699.263763","volume-title":"Conference Record 24th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL 1997)","author":"P. Jansson","year":"1997","unstructured":"Jansson, P., Jeuring, J.: PolyP\u2014a polytypic programming language extension. In: Conference Record 24th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL 1997), Paris, France, pp. 470\u2013482. ACM Press, New York (1997)"},{"key":"13_CR2","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"1","DOI":"10.1007\/978-3-540-45191-4_1","volume-title":"Generic Programming","author":"R. Hinze","year":"2003","unstructured":"Hinze, R., Jeuring, J.: Generic haskell: Practice and theory. In: Backhouse, R., Gibbons, J. (eds.) Generic Programming. LNCS, vol.\u00a02793, pp. 1\u201356. Springer, Heidelberg (2003)"},{"key":"13_CR3","doi-asserted-by":"crossref","unstructured":"Peyton Jones, S., L\u00e4mmel, R.: Scrap your boilerplate: A practical approach to generic programming. In: Proceedings of the ACM SIGPLAN Workshop on Types in Language Design and Implementation (TLDI 2003), New Orleans, pp. 26\u201337 (2003)","DOI":"10.1145\/640136.604179"},{"issue":"2","key":"13_CR4","doi-asserted-by":"publisher","first-page":"109","DOI":"10.1145\/227699.227700","volume":"18","author":"C.V. Hall","year":"1996","unstructured":"Hall, C.V., Hammond, K., Peyton Jones, S.L., Wadler, P.L.: Type classes in Haskell. ACM Transactions on Programming Languages and Systems\u00a018(2), 109\u2013138 (1996)","journal-title":"ACM Transactions on Programming Languages and Systems"},{"key":"13_CR5","doi-asserted-by":"crossref","unstructured":"L\u00e4mmel, R., Peyton Jones, S.: Scrap your boilerplate with class: extensible generic functions. In: Pierce, B. (ed.) Proceedings of the 2005 International Conference on Functional Programming, Tallinn, Estonia, September 26-28 (2005)","DOI":"10.1145\/1086365.1086391"},{"key":"13_CR6","doi-asserted-by":"publisher","first-page":"58","DOI":"10.1145\/351240.351246","volume-title":"Proceedings of the ACM SIGPLAN International Conference on Functional Programming (ICFP 2000), ACM SIGPLAN Notices","author":"S. Weirich","year":"2000","unstructured":"Weirich, S.: Type-safe cast: Functional pearl. In: Proceedings of the ACM SIGPLAN International Conference on Functional Programming (ICFP 2000), ACM SIGPLAN Notices, vol.\u00a035(9), pp. 58\u201367. ACM Press, New York (2000)"},{"key":"13_CR7","first-page":"301","volume-title":"Proceedings of the ACM SIGPLAN International Conference on Functional Programming (ICFP 1998) ACM SIGPLAN Notices","author":"K. Crary","year":"1999","unstructured":"Crary, K., Weirich, S., Morrisett, G.: Intensional polymorphism in type-erasure semantics. In: Proceedings of the ACM SIGPLAN International Conference on Functional Programming (ICFP 1998) ACM SIGPLAN Notices, Baltimore, MD, vol.\u00a034(1), pp. 301\u2013312. ACM Press, New York (1999)"},{"key":"13_CR8","doi-asserted-by":"publisher","first-page":"90","DOI":"10.1145\/581690.581698","volume-title":"Proceedings of the 2002 ACM SIGPLAN Haskell Workshop","author":"J. Cheney","year":"2002","unstructured":"Cheney, J., Hinze, R.: A lightweight implementation of generics and dynamics. In: Chakravarty, M.M. (ed.) Proceedings of the 2002 ACM SIGPLAN Haskell Workshop, pp. 90\u2013104. ACM Press, New York (2002)"},{"key":"13_CR9","doi-asserted-by":"crossref","unstructured":"Hinze, R.: A new approach to generic functional programming. In: Reps, T.W. (ed.) Proceedings of the 27th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL 2000), Boston, Massachusetts, January 19-21, pp. 119\u2013132 (2000)","DOI":"10.1145\/325694.325709"},{"key":"13_CR10","first-page":"236","volume-title":"Proceedings of the 2004 International Conference on Functional Programming","author":"R. Hinze","year":"2004","unstructured":"Hinze, R.: Generics for the masses. In: Fisher, K. (ed.) Proceedings of the 2004 International Conference on Functional Programming, Snowbird, Utah, September 19-22, 2004, pp. 236\u2013243. ACM Press, New York (2004)"},{"key":"13_CR11","series-title":"Lecture Notes in Computer Science","volume-title":"Functional and Logic Programming","author":"R. Hinze","year":"2006","unstructured":"Hinze, R., L\u00f6h, A., Oliveira, B.C.: Scrap Your Boilerplate reloaded. In: Hagiya, M., Wadler, P. (eds.) FLOPS 2006. LNCS, vol.\u00a03945. Springer, Heidelberg (2006)"},{"key":"13_CR12","doi-asserted-by":"publisher","first-page":"224","DOI":"10.1145\/604131.604150","volume-title":"Proceedings of the ACM SIGPLAN-SIGACT symposium on Principles of Programming Languages (POPL 2003)","author":"H. Xi","year":"2003","unstructured":"Xi, H., Chen, C., Chen, G.: Guarded recursive datatype constructors. In: Proceedings of the ACM SIGPLAN-SIGACT symposium on Principles of Programming Languages (POPL 2003), pp. 224\u2013235. ACM Press, New York (2003)"},{"key":"13_CR13","unstructured":"Peyton Jones, S., Washburn, G., Weirich, S.: Wobbly types: Type inference for generalised algebraic data types. Technical Report MS-CIS-05-26, University of Pennsylvania (2004)"},{"key":"13_CR14","doi-asserted-by":"publisher","first-page":"347","DOI":"10.1145\/99370.99404","volume-title":"The Fourth International Conference on Functional Programming Languages and Computer Architecture (FPCA 1989)","author":"P. Wadler","year":"1989","unstructured":"Wadler, P.: Theorems for free! In: The Fourth International Conference on Functional Programming Languages and Computer Architecture (FPCA 1989), London, UK, pp. 347\u2013359. Addison-Wesley Publishing Company, Reading (1989)"},{"issue":"3","key":"13_CR15","doi-asserted-by":"publisher","first-page":"141","DOI":"10.1016\/0020-0190(86)90059-1","volume":"22","author":"R.J.M. Hughes","year":"1986","unstructured":"Hughes, R.J.M.: A novel representation of lists and its application to the function \u201creverse\u201d. Information Processing Letters\u00a022(3), 141\u2013144 (1986)","journal-title":"Information Processing Letters"},{"key":"13_CR16","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"52","DOI":"10.1007\/BFb0054285","volume-title":"Mathematics of Program Construction","author":"R. Bird","year":"1998","unstructured":"Bird, R., Meertens, L.: Nested datatypes. In: Jeuring, J. (ed.) MPC 1998. LNCS, vol.\u00a01422, pp. 52\u201367. Springer, Heidelberg (1998)"},{"issue":"3","key":"13_CR17","doi-asserted-by":"publisher","first-page":"305","DOI":"10.1017\/S0956796800003701","volume":"10","author":"R. Hinze","year":"2000","unstructured":"Hinze, R.: Functional Pearl: Perfect trees and bit-reversal permutations. Journal of Functional Programming\u00a010(3), 305\u2013317 (2000)","journal-title":"Journal of Functional Programming"},{"issue":"3","key":"13_CR18","doi-asserted-by":"publisher","first-page":"323","DOI":"10.1017\/S0956796800000411","volume":"2","author":"G. Hutton","year":"1992","unstructured":"Hutton, G.: Higher-order functions for parsing. Journal of Functional Programming\u00a02(3), 323\u2013343 (1992)","journal-title":"Journal of Functional Programming"},{"key":"13_CR19","volume-title":"Haskell 1998 Language and Libraries","author":"S. Peyton Jones","year":"2003","unstructured":"Peyton Jones, S.: Haskell 1998 Language and Libraries. Cambridge University Press, Cambridge (2003)"},{"issue":"1","key":"13_CR20","doi-asserted-by":"publisher","first-page":"1","DOI":"10.1017\/S0956796800001210","volume":"5","author":"M.P. Jones","year":"1995","unstructured":"Jones, M.P.: A system of constructor classes: Overloading and implicit higher-order polymorphism. Journal of Functional Programming\u00a05(1), 1\u201335 (1995)","journal-title":"Journal of Functional Programming"},{"key":"13_CR21","doi-asserted-by":"crossref","first-page":"245","DOI":"10.1007\/978-1-349-91518-7_12","volume-title":"The Fun of Programming","author":"R. Hinze","year":"2003","unstructured":"Hinze, R.: Fun with phantom types. In: Gibbons, J., de Moor, O. (eds.) The Fun of Programming, pp. 245\u2013262. Palgrave Macmillan, Basingstoke (2003)"},{"key":"13_CR22","unstructured":"L\u00e4mmel, R., Peyton Jones, S.: Scrap more boilerplate: reflection, zips, and generalised casts. In: Fisher, K. (ed.) Proceedings of the 2004 International Conference on Functional Programming, Snowbird, Utah, September 19-22, 2004, pp. 244\u2013255 (2004)"},{"key":"13_CR23","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"28","DOI":"10.1007\/10704973_2","volume-title":"Advanced Functional Programming","author":"R. Backhouse","year":"1999","unstructured":"Backhouse, R., Jansson, P., Jeuring, J., Meertens, L.: Generic Programming \u2014 An Introduction. In: Swierstra, S.D., Henriques, P.R., Oliveira, J.N. (eds.) AFP 1998. LNCS, vol.\u00a01608, pp. 28\u2013115. Springer, Heidelberg (1999)"},{"key":"13_CR24","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"57","DOI":"10.1007\/978-3-540-45191-4_2","volume-title":"Generic Programming","author":"R. Hinze","year":"2003","unstructured":"Hinze, R., Jeuring, J.: Generic haskell: Applications. In: Backhouse, R., Gibbons, J. (eds.) Generic Programming. LNCS, vol.\u00a02793, pp. 57\u201396. Springer, Heidelberg (2003)"},{"key":"13_CR25","doi-asserted-by":"crossref","unstructured":"Harper, R., Morrisett, G.: Compiling polymorphism using intensional type analysis. In: 22nd Symposium on Principles of Programming Languages, POPL 1995, pp. 130\u2013141 (1995)","DOI":"10.1145\/199448.199475"},{"key":"13_CR26","doi-asserted-by":"publisher","first-page":"233","DOI":"10.1145\/317636.317906","volume-title":"Proceedings ICFP 1999: International Conference on Functional Programming","author":"K. Crary","year":"1999","unstructured":"Crary, K., Weirich, S.: Flexible type analysis. In: Proceedings ICFP 1999: International Conference on Functional Programming, pp. 233\u2013248. ACM Press, New York (1999)"},{"key":"13_CR27","doi-asserted-by":"publisher","first-page":"82","DOI":"10.1145\/351240.351248","volume-title":"Proceedings ICFP 2000: International Conference on Functional Programming","author":"V. Trifonov","year":"2000","unstructured":"Trifonov, V., Saha, B., Shao, Z.: Fully reflexive intensional type analysis. In: Proceedings ICFP 2000: International Conference on Functional Programming, pp. 82\u201393. ACM Press, New York (2000)"},{"key":"13_CR28","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"92","DOI":"10.1007\/3-540-45309-1_7","volume-title":"Programming Languages and Systems","author":"S. Weirich","year":"2001","unstructured":"Weirich, S.: Encoding intensional type analysis. In: Sands, D. (ed.) ESOP 2001. LNCS, vol.\u00a02028, pp. 92\u2013106. Springer, Heidelberg (2001)"},{"key":"13_CR29","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"168","DOI":"10.1007\/978-3-540-27861-0_11","volume-title":"Implementation of Functional Languages","author":"U. Norell","year":"2004","unstructured":"Norell, U., Jansson, P.: Polytypic programming in haskell. In: Trinder, P., Michaelson, G.J., Pe\u00f1a, R. (eds.) IFL 2003. LNCS, vol.\u00a03145, pp. 168\u2013184. Springer, Heidelberg (2004)"},{"key":"13_CR30","doi-asserted-by":"crossref","unstructured":"Oliveira, B.C., Gibbons, J.: Typecase: A design pattern for type-indexed functions. In: Leijen, D. (ed.) Proceedings of the 2005 ACM SIGPLAN workshop on Haskell, Tallinn, Estonia, pp. 98\u2013109 (2005)","DOI":"10.1145\/1088348.1088358"},{"key":"13_CR31","doi-asserted-by":"crossref","unstructured":"Hinze, R., Peyton Jones, S.: Derivable type classes. In: Hutton, G. (ed.) Proceedings of the 2000 ACM SIGPLAN Haskell Workshop. Electronic Notes in Theoretical Computer Science, vol.\u00a041.1. Elsevier Science, Amsterdam (2001); The preliminary proceedings appeared as a University of Nottingham technical report","DOI":"10.1016\/S1571-0661(05)80542-0"},{"key":"13_CR32","unstructured":"Alimarine, A., Plasmeijer, R.: A generic programming extension for Clean. In: Arts, T., Mohnen, M. (eds.) Proceedings of the 13th International workshop on the Implementation of Functional Languages, IFL 2001, \u00c4lvsj\u00f6, Sweden, pp. 257\u2013278 (2001)"},{"key":"13_CR33","doi-asserted-by":"publisher","first-page":"129","DOI":"10.1016\/S0167-6423(02)00025-4","volume":"43","author":"R. Hinze","year":"2002","unstructured":"Hinze, R.: Polytypic values possess polykinded types. Science of Computer Programming\u00a043, 129\u2013159 (2002)","journal-title":"Science of Computer Programming"},{"key":"13_CR34","unstructured":"L\u00f6h, A.: Exploring Generic Haskell. PhD thesis, Utrecht University (2004)"},{"key":"13_CR35","unstructured":"L\u00f6h, A., Jeuring, J.: The Generic Haskell user\u2019s guide, version 1.42 - Coral release. Technical Report UU-CS-2005-004, Universiteit Utrecht (2005)"},{"key":"13_CR36","doi-asserted-by":"crossref","unstructured":"Hinze, R., L\u00f6h, A., Oliveira, B.C.: \u201cScrap Your Boilerplate\u201d reloaded. Technical Report IAI-TR-2006-2, Institut f\u00fcr Informatik III, Universit\u00e4t Bonn (2006)","DOI":"10.1007\/11737414_3"},{"key":"13_CR37","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"230","DOI":"10.1007\/3-540-46425-5_15","volume-title":"Programming Languages and Systems","author":"M.P. Jones","year":"2000","unstructured":"Jones, M.P.: Type classes with functional dependencies. In: Smolka, G. (ed.) ESOP 2000. LNCS, vol.\u00a01782, pp. 230\u2013244. Springer, Heidelberg (2000)"},{"key":"13_CR38","doi-asserted-by":"publisher","first-page":"117","DOI":"10.1016\/j.scico.2003.07.001","volume":"51","author":"R. Hinze","year":"2004","unstructured":"Hinze, R., Jeuring, J., L\u00f6h, A.: Type-indexed data types. Science of Computer Programming\u00a051, 117\u2013151 (2004)","journal-title":"Science of Computer Programming"},{"key":"13_CR39","first-page":"21","volume-title":"Proceedings of the IFIP TC2 Working Conference on Generic Programming, Schloss Dagstuhl","author":"D. Clarke","year":"2002","unstructured":"Clarke, D., L\u00f6h, A.: Generic Haskell, specifically. In: Gibbons, J., Jeuring, J. (eds.) Proceedings of the IFIP TC2 Working Conference on Generic Programming, Schloss Dagstuhl, pp. 21\u201348. Kluwer Academic Publishers, Dordrecht (2002)"},{"key":"13_CR40","unstructured":"Visser, E.: Language independent traversals for program transformation. In: Jeuring, J. (ed.) Proceedings of the 2nd Workshop on Generic Programming, Ponte de Lima, Portugal, pp. 86\u2013104 (2000); The proceedings appeared as a technical report of Universiteit Utrecht, UU-CS-2000-19"},{"key":"13_CR41","unstructured":"Hinze, R., L\u00f6h, A.: Open data types and open functions. Technical Report IAI-TR-2006-3, Institut f\u00fcr Informatik III, Universit\u00e4t Bonn (2006)"},{"key":"13_CR42","doi-asserted-by":"crossref","unstructured":"Reig, F.: Generic proofs for combinator-based generic programs. In: Loidl, H.W. (ed.) Trends in Functional Programming, Intellect, vol. 5 (2006)","DOI":"10.2307\/j.ctv36xw0k5.5"},{"key":"13_CR43","unstructured":"Braun, W., Rem, M.: A logarithmic implementation of flexible arrays. Memorandum MR83\/4, Eindhoven University of Technology (1983)"}],"container-title":["Lecture Notes in Computer Science","Mathematics of Program Construction"],"original-title":[],"link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/11783596_13.pdf","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2023,5,7]],"date-time":"2023-05-07T17:23:17Z","timestamp":1683480197000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/11783596_13"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2006]]},"ISBN":["9783540356318","9783540356325"],"references-count":43,"URL":"https:\/\/doi.org\/10.1007\/11783596_13","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"type":"print","value":"0302-9743"},{"type":"electronic","value":"1611-3349"}],"subject":[],"published":{"date-parts":[[2006]]}}}