{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,3,26]],"date-time":"2025-03-26T21:14:40Z","timestamp":1743023680321,"version":"3.40.3"},"publisher-location":"Cham","reference-count":15,"publisher":"Springer International Publishing","isbn-type":[{"type":"print","value":"9783319197968"},{"type":"electronic","value":"9783319197975"}],"license":[{"start":{"date-parts":[[2015,1,1]],"date-time":"2015-01-01T00:00:00Z","timestamp":1420070400000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/www.springer.com\/tdm"},{"start":{"date-parts":[[2015,1,1]],"date-time":"2015-01-01T00:00:00Z","timestamp":1420070400000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.springer.com\/tdm"}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2015]]},"DOI":"10.1007\/978-3-319-19797-5_5","type":"book-chapter","created":{"date-parts":[[2015,6,10]],"date-time":"2015-06-10T15:56:37Z","timestamp":1433951797000},"page":"93-112","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":0,"title":["Hierarchy in Generic Programming Libraries"],"prefix":"10.1007","author":[{"given":"Jos\u00e9 Pedro","family":"Magalh\u00e3es","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Andres","family":"L\u00f6h","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"297","published-online":{"date-parts":[[2015,6,9]]},"reference":[{"key":"5_CR1","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"209","DOI":"10.1007\/11783596_14","volume-title":"Mathematics of Program Construction","author":"S Holdermans","year":"2006","unstructured":"Holdermans, S., Jeuring, J., L\u00f6h, A., Rodriguez Yakushev, A.: Generic views on data types. In: Uustalu, T. (ed.) MPC 2006. LNCS, vol. 4014, pp. 209\u2013234. Springer, Heidelberg (2006)"},{"key":"5_CR2","doi-asserted-by":"publisher","unstructured":"L\u00e4mmel, R., Peyton Jones, S.: Scrap your boilerplate: a practical design pattern for generic programming. In: Proceedings of the 2003 ACM SIGPLAN International Workshop on Types in Languages Design and Implementation, pp. 26\u201337. ACM (2003). doi:10.1145\/604174.604179","DOI":"10.1145\/604174.604179"},{"key":"5_CR3","doi-asserted-by":"publisher","unstructured":"L\u00e4mmel, R., Peyton Jones, S.: Scrap more boilerplate: reflection, zips, and generalised casts. In: Proceedings of the 9th ACM SIGPLAN International Conference on Functional Programming, pp. 244\u2013255. ACM (2004). doi:10.1145\/1016850.1016883","DOI":"10.1145\/1016850.1016883"},{"key":"5_CR4","unstructured":"Magalh\u00e3es, J.P.: Less Is More: Generic programming theory and practice. Ph.D. thesis, Universiteit Utrecht (2012)"},{"key":"5_CR5","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"136","DOI":"10.1007\/978-3-319-07151-0_9","volume-title":"Functional and Logic Programming","author":"JP Magalh\u00e3es","year":"2014","unstructured":"Magalh\u00e3es, J.P.: Generic programming with multiple parameters. In: Codish, M., Sumii, E. (eds.) FLOPS 2014. LNCS, vol. 8475, pp. 136\u2013151. Springer, Heidelberg (2014)"},{"key":"5_CR6","doi-asserted-by":"publisher","unstructured":"Magalh\u00e3es, J.P., L\u00f6h, A.: A formal comparison of approaches to datatype-generic programming. In: Chapman, J., Levy, P.B. (eds.) Proceedings Fourth Workshop on Mathematically Structured Functional Programming. Electronic Proceedings in Theoretical Computer Science, vol. 76, pp. 50\u201367. Open Publishing Association (2012). doi:10.4204\/EPTCS.76.6","DOI":"10.4204\/EPTCS.76.6"},{"key":"5_CR7","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"216","DOI":"10.1007\/978-3-319-04132-2_15","volume-title":"Practical Aspects of Declarative Languages","author":"JP Magalh\u00e3es","year":"2014","unstructured":"Magalh\u00e3es, J.P., L\u00f6h, A.: Generic generic programming. In: Flatt, M., Guo, H.-F. (eds.) PADL 2014. LNCS, vol. 8324, pp. 216\u2013231. Springer, Heidelberg (2014)"},{"key":"5_CR8","doi-asserted-by":"publisher","unstructured":"Magalh\u00e3es, J.P., Dijkstra, A., Jeuring, J., L\u00f6h, A.: A generic deriving mechanism for Haskell. In: Proceedings of the 3rd ACM Haskell Symposium, pp. 37\u201348. ACM (2010). doi:10.1145\/1863523.1863529","DOI":"10.1145\/1863523.1863529"},{"key":"5_CR9","unstructured":"Morris, P: Constructing universes for generic programming. Ph.D. thesis, The University of Nottingham, November 2007"},{"key":"5_CR10","doi-asserted-by":"publisher","unstructured":"van Noort, T., Rodriguez Yakushev, A., Holdermans, S., Jeuring, J., Heeren, B.: A lightweight approach to datatype-generic rewriting. In: Proceedings of the ACM SIGPLAN Workshop on Generic Programming, pp. 13\u201324. ACM (2008). doi:10.1145\/1411318.1411321","DOI":"10.1145\/1411318.1411321"},{"key":"5_CR11","doi-asserted-by":"publisher","unstructured":"Rodriguez Yakushev, A., Holdermans, S., L\u00f6h, A., Jeuring, J.: Generic programming with fixed points for mutually recursive datatypes. In: Proceedings of the 14th ACM SIGPLAN International Conference on Functional Programming, pp. 233\u2013244. ACM (2009). doi:10.1145\/1596550.1596585","DOI":"10.1145\/1596550.1596585"},{"key":"5_CR12","doi-asserted-by":"publisher","unstructured":"Schrijvers, T., Peyton Jones, P., Chakravarty, M., Sulzmann, M.: Type checking with open type functions. In: Proceedings of the 13th ACM SIGPLAN International Conference on Functional Programming, pp. 51\u201362. ACM (2008). doi:10.1145\/1411204.1411215","DOI":"10.1145\/1411204.1411215"},{"key":"5_CR13","doi-asserted-by":"publisher","unstructured":"Schrijvers, T., Peyton Jones, P., Sulzmann, M., Vytiniotis, D.: Complete and decidable type inference for GADTs. In: Proceedings of the 14th ACM SIGPLAN International Conference on Functional Programming, pp. 341\u2013352. ACM (2009). doi:10.1145\/1596550.1596599","DOI":"10.1145\/1596550.1596599"},{"key":"5_CR14","doi-asserted-by":"publisher","unstructured":"Sheard, T., Peyton Jones, S.: Template meta-programming for Haskell. In: Proceedings of the 2002 ACM SIGPLAN Workshop on Haskell, vol. 37, pp. 1\u201316. ACM, December 2002. doi:10.1145\/581690.581691","DOI":"10.1145\/581690.581691"},{"key":"5_CR15","doi-asserted-by":"publisher","unstructured":"Yorgey, B.A., Weirich, S., Cretin, J., Peyton Jones, P., Vytiniotis, D., Magalh\u00e3es, J.P.: Giving Haskell a promotion. In: Proceedings of the 8th ACM SIGPLAN Workshop on Types in Language Design and Implementation, pp. 53\u201366. ACM (2012). doi:10.1145\/2103786.2103795","DOI":"10.1145\/2103786.2103795"}],"container-title":["Lecture Notes in Computer Science","Mathematics of Program Construction"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-319-19797-5_5","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2022,11,2]],"date-time":"2022-11-02T19:48:11Z","timestamp":1667418491000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1007\/978-3-319-19797-5_5"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2015]]},"ISBN":["9783319197968","9783319197975"],"references-count":15,"URL":"https:\/\/doi.org\/10.1007\/978-3-319-19797-5_5","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"type":"print","value":"0302-9743"},{"type":"electronic","value":"1611-3349"}],"subject":[],"published":{"date-parts":[[2015]]},"assertion":[{"value":"9 June 2015","order":1,"name":"first_online","label":"First Online","group":{"name":"ChapterHistory","label":"Chapter History"}}]}}