{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,3,27]],"date-time":"2025-03-27T06:39:31Z","timestamp":1743057571371,"version":"3.40.3"},"publisher-location":"Cham","reference-count":21,"publisher":"Springer International Publishing","isbn-type":[{"type":"print","value":"9783030059972"},{"type":"electronic","value":"9783030059989"}],"license":[{"start":{"date-parts":[[2018,12,19]],"date-time":"2018-12-19T00:00:00Z","timestamp":1545177600000},"content-version":"tdm","delay-in-days":0,"URL":"http:\/\/www.springer.com\/tdm"}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2019]]},"DOI":"10.1007\/978-3-030-05998-9_10","type":"book-chapter","created":{"date-parts":[[2018,12,18]],"date-time":"2018-12-18T12:05:24Z","timestamp":1545134724000},"page":"150-168","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":0,"title":["Classes of Arbitrary Kind"],"prefix":"10.1007","author":[{"given":"Alejandro","family":"Serrano","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Victor Cacciari","family":"Miraldo","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"297","published-online":{"date-parts":[[2018,12,19]]},"reference":[{"key":"10_CR1","unstructured":"Bolingbroke, M.: Constraint Kinds (2011). \n                    http:\/\/blog.omega-prime.co.uk\/?p=127"},{"key":"10_CR2","doi-asserted-by":"crossref","unstructured":"Bottu, G.J., Karachalias, G., Schrijvers, T., Oliveira, B.C.d.S., Wadler, P.: Quantified class constraints. In: Proceedings of the 10th International Symposium on Haskell, Haskell 2017. ACM (2017)","DOI":"10.1145\/3122955.3122967"},{"issue":"5","key":"10_CR3","doi-asserted-by":"publisher","first-page":"639","DOI":"10.1093\/logcom\/13.5.639","volume":"13","author":"I Cervesato","year":"2003","unstructured":"Cervesato, I., Pfenning, F.: A linear spine calculus. J. Log. Comput. 13(5), 639\u2013688 (2003)","journal-title":"J. Log. Comput."},{"key":"10_CR4","doi-asserted-by":"crossref","unstructured":"Chakravarty, M.M.T., Keller, G., Peyton Jones, S., Marlow, S.: Associated types with class. In: Proceedings of the 32nd Symposium on Principles of Programming Languages, POPL 2005. ACM (2005)","DOI":"10.1145\/1040305.1040306"},{"key":"10_CR5","doi-asserted-by":"crossref","unstructured":"Eisenberg, R.A., Weirich, S.: Dependently typed programming with singletons. In: Proceedings of the 2012 Haskell Symposium, Haskell 2012. ACM (2012)","DOI":"10.1145\/2364506.2364522"},{"key":"10_CR6","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"2","DOI":"10.1007\/10722010_2","volume-title":"Mathematics of Program Construction","author":"R Hinze","year":"2000","unstructured":"Hinze, R.: Polytypic values possess polykinded types. In: Backhouse, R., Oliveira, J.N. (eds.) MPC 2000. LNCS, vol. 1837, pp. 2\u201327. Springer, Heidelberg (2000). \n                    https:\/\/doi.org\/10.1007\/10722010_2"},{"key":"10_CR7","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":"MP Jones","year":"2000","unstructured":"Jones, M.P.: Type classes with functional dependencies. In: Smolka, G. (ed.) ESOP 2000. LNCS, vol. 1782, pp. 230\u2013244. Springer, Heidelberg (2000). \n                    https:\/\/doi.org\/10.1007\/3-540-46425-5_15"},{"key":"10_CR8","doi-asserted-by":"crossref","unstructured":"Magalh\u00e3es, J.P., Dijkstra, A., Jeuring, J., L\u00f6h, A.: Ageneric deriving mechanism for haskell. In: Proceedings of the 3rd Symposium on Haskell, Haskell 2010. ACM (2010)","DOI":"10.1145\/1863523.1863529"},{"key":"10_CR9","doi-asserted-by":"crossref","unstructured":"Miraldo, V.C., Serrano, A.: Sums of products for mutually recursive datatypes: the appropriationist\u2019s view on generic programming. In: Proceedings of the 3rd International Workshop on Type-Driven Development, TyDe 2018. ACM (2018)","DOI":"10.1145\/3240719.3241786"},{"key":"10_CR10","doi-asserted-by":"crossref","unstructured":"Noort, T.v., Rodriguez, A., Holdermans, S., Jeuring, J., Heeren, B.: A lightweight approach to datatype-generic rewriting. In: Proceedings of the Workshop on Generic Programming, WGP 2008. ACM (2008)","DOI":"10.1145\/1411318.1411321"},{"key":"10_CR11","unstructured":"Peyton Jones, S., Jones, M., Meijer, E.: Type classes: an exploration of the design space. In: Haskell Workshop, Amsterdam (1997)"},{"key":"10_CR12","doi-asserted-by":"crossref","unstructured":"Pickering, M., \u00c9rdi, G., Peyton Jones, S., Eisenberg, R.A.: Pattern synonyms. In: Proceedings of the 9th International Symposium on Haskell, Haskell 2016. ACM (2016)","DOI":"10.1145\/2976002.2976013"},{"key":"10_CR13","doi-asserted-by":"crossref","unstructured":"Schrijvers, T., Peyton Jones, S., Chakravarty, M., Sulzmann, M.: Type checking with open type functions. In: Proceedings of the 13th International Conference on Functional Programming, ICFP 2008. ACM (2008)","DOI":"10.1145\/1411204.1411215"},{"key":"10_CR14","doi-asserted-by":"crossref","unstructured":"Serrano, A., Miraldo, V.C.: Generic programming of all kinds. In: Proceedings of the 11th Symposium on Haskell, Haskell 2018. ACM (2018)","DOI":"10.1145\/3242744.3242745"},{"key":"10_CR15","doi-asserted-by":"crossref","unstructured":"de Vries, E., L\u00f6h, A.: True sums of products. In: Proceedings of the 10th Workshop on Generic Programming, WGP 2014. ACM (2014)","DOI":"10.1145\/2633628.2633634"},{"key":"10_CR16","doi-asserted-by":"crossref","unstructured":"Wadler, P., Blott, S.: How to make ad-hoc polymorphism less ad hoc. In: Proceedings of the 16th Symposium on Principles of Programming Languages, POPL 1989. ACM (1989)","DOI":"10.1145\/75277.75283"},{"key":"10_CR17","doi-asserted-by":"crossref","unstructured":"Weirich, S., Casinghino, C.: Arity-generic datatype-generic programming. In: Proceedings of the 4th Workshop on Programming Languages Meets Program Verification, PLPV 2010. ACM (2010)","DOI":"10.1145\/1707790.1707799"},{"issue":"ICFP","key":"10_CR18","doi-asserted-by":"publisher","first-page":"1","DOI":"10.1145\/3110275","volume":"1","author":"Stephanie Weirich","year":"2017","unstructured":"Weirich, S., Voizard, A., de Amorim, P.H.A., Eisenberg, R.A.: A specification for dependent types in haskell. In: Proceedings ACM Programming Languages 1(ICFP) (2017)","journal-title":"Proceedings of the ACM on Programming Languages"},{"key":"10_CR19","doi-asserted-by":"crossref","unstructured":"Xi, H., Chen, C., Chen, G.: Guarded recursive datatype constructors. In: Proceedings of the 30th Symposium on Principles of Programming Languages, POPL 2003. ACM (2003)","DOI":"10.1145\/604131.604150"},{"key":"10_CR20","doi-asserted-by":"crossref","unstructured":"Yakushev, A.R., Holdermans, S., L\u00f6h, A., Jeuring, J.: Generic programming with fixed points for mutually recursive datatypes. In: Proceedings of the 14th International Conference on Functional Programming, ICFP 2009. ACM (2009)","DOI":"10.1145\/1596550.1596585"},{"key":"10_CR21","doi-asserted-by":"crossref","unstructured":"Yorgey, B.A., Weirich, S., Cretin, J., Peyton Jones, S., Vytiniotis, D., Magalh\u00e3es, J.P.: Giving haskell a promotion. In: Proceedings of the 8th Workshop on Types in Language Design and Implementation, TLDI 2012. ACM (2012)","DOI":"10.1145\/2103786.2103795"}],"container-title":["Lecture Notes in Computer Science","Practical Aspects of Declarative Languages"],"original-title":[],"language":"en","link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-030-05998-9_10","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2019,8,29]],"date-time":"2019-08-29T07:37:30Z","timestamp":1567064250000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/978-3-030-05998-9_10"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2018,12,19]]},"ISBN":["9783030059972","9783030059989"],"references-count":21,"URL":"https:\/\/doi.org\/10.1007\/978-3-030-05998-9_10","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"type":"print","value":"0302-9743"},{"type":"electronic","value":"1611-3349"}],"subject":[],"published":{"date-parts":[[2018,12,19]]},"assertion":[{"value":"19 December 2018","order":1,"name":"first_online","label":"First Online","group":{"name":"ChapterHistory","label":"Chapter History"}},{"value":"PADL","order":1,"name":"conference_acronym","label":"Conference Acronym","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"International Symposium on Practical Aspects of Declarative Languages","order":2,"name":"conference_name","label":"Conference Name","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Lisbon","order":3,"name":"conference_city","label":"Conference City","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Portugal","order":4,"name":"conference_country","label":"Conference Country","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"2019","order":5,"name":"conference_year","label":"Conference Year","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"14 January 2019","order":7,"name":"conference_start_date","label":"Conference Start Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"15 January 2019","order":8,"name":"conference_end_date","label":"Conference End Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"21","order":9,"name":"conference_number","label":"Conference Number","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"padl2019","order":10,"name":"conference_id","label":"Conference ID","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"https:\/\/uta.engineering\/conferences\/bi-2018\/","order":11,"name":"conference_url","label":"Conference URL","group":{"name":"ConferenceInfo","label":"Conference Information"}}]}}