{"id":"https://openalex.org/W2001538785","doi":"https://doi.org/10.1145/2804302.2804304","title":"Type families with class, type classes with family","display_name":"Type families with class, type classes with family","publication_year":2015,"publication_date":"2015-08-24","ids":{"openalex":"https://openalex.org/W2001538785","doi":"https://doi.org/10.1145/2804302.2804304","mag":"2001538785"},"language":"en","primary_location":{"id":"doi:10.1145/2804302.2804304","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2804302.2804304","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 2015 ACM SIGPLAN Symposium on Haskell","raw_type":"proceedings-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"green","oa_url":"https://dspace.library.uu.nl/handle/1874/320701","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5100628640","display_name":"Alejandro Serrano","orcid":"https://orcid.org/0000-0002-5429-7589"},"institutions":[{"id":"https://openalex.org/I193662353","display_name":"Utrecht University","ror":"https://ror.org/04pp8hn57","country_code":"NL","type":"education","lineage":["https://openalex.org/I193662353"]}],"countries":["NL"],"is_corresponding":true,"raw_author_name":"Alejandro Serrano","raw_affiliation_strings":["Utrecht University, Netherlands","Utrecht University, NETHERLANDS"],"affiliations":[{"raw_affiliation_string":"Utrecht University, Netherlands","institution_ids":["https://openalex.org/I193662353"]},{"raw_affiliation_string":"Utrecht University, NETHERLANDS","institution_ids":["https://openalex.org/I193662353"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5101615144","display_name":"Jurriaan Hage","orcid":"https://orcid.org/0000-0002-3580-6069"},"institutions":[{"id":"https://openalex.org/I193662353","display_name":"Utrecht University","ror":"https://ror.org/04pp8hn57","country_code":"NL","type":"education","lineage":["https://openalex.org/I193662353"]}],"countries":["NL"],"is_corresponding":false,"raw_author_name":"Jurriaan Hage","raw_affiliation_strings":["Utrecht University, Netherlands","Utrecht University, NETHERLANDS"],"affiliations":[{"raw_affiliation_string":"Utrecht University, Netherlands","institution_ids":["https://openalex.org/I193662353"]},{"raw_affiliation_string":"Utrecht University, NETHERLANDS","institution_ids":["https://openalex.org/I193662353"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5015853763","display_name":"Patrick Bahr","orcid":"https://orcid.org/0000-0003-1600-8261"},"institutions":[{"id":"https://openalex.org/I124055696","display_name":"University of Copenhagen","ror":"https://ror.org/035b05819","country_code":"DK","type":"education","lineage":["https://openalex.org/I124055696"]}],"countries":["DK"],"is_corresponding":false,"raw_author_name":"Patrick Bahr","raw_affiliation_strings":["University of Copenhagen, Denmark"],"affiliations":[{"raw_affiliation_string":"University of Copenhagen, Denmark","institution_ids":["https://openalex.org/I124055696"]}]}],"institutions":[],"countries_distinct_count":2,"institutions_distinct_count":3,"corresponding_author_ids":["https://openalex.org/A5100628640"],"corresponding_institution_ids":["https://openalex.org/I193662353"],"apc_list":null,"apc_paid":null,"fwci":2.2255,"has_fulltext":false,"cited_by_count":6,"citation_normalized_percentile":{"value":0.9028207,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":89,"max":97},"biblio":{"volume":null,"issue":null,"first_page":"129","last_page":"140"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10126","display_name":"Logic, programming, and type systems","score":0.9998000264167786,"subfield":{"id":"https://openalex.org/subfields/1702","display_name":"Artificial Intelligence"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},"topics":[{"id":"https://openalex.org/T10126","display_name":"Logic, programming, and type systems","score":0.9998000264167786,"subfield":{"id":"https://openalex.org/subfields/1702","display_name":"Artificial Intelligence"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T11567","display_name":"semigroups and automata theory","score":0.9793999791145325,"subfield":{"id":"https://openalex.org/subfields/1703","display_name":"Computational Theory and Mathematics"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T11010","display_name":"Logic, Reasoning, and Knowledge","score":0.9672999978065491,"subfield":{"id":"https://openalex.org/subfields/1702","display_name":"Artificial Intelligence"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}}],"keywords":[{"id":"https://openalex.org/keywords/class","display_name":"Class (philosophy)","score":0.6329585909843445},{"id":"https://openalex.org/keywords/type","display_name":"Type (biology)","score":0.6125050187110901},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.4687013328075409},{"id":"https://openalex.org/keywords/genealogy","display_name":"Genealogy","score":0.3763914406299591},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.23046615719795227},{"id":"https://openalex.org/keywords/history","display_name":"History","score":0.16044077277183533},{"id":"https://openalex.org/keywords/geology","display_name":"Geology","score":0.11302787065505981}],"concepts":[{"id":"https://openalex.org/C2777212361","wikidata":"https://www.wikidata.org/wiki/Q5127848","display_name":"Class (philosophy)","level":2,"score":0.6329585909843445},{"id":"https://openalex.org/C2777299769","wikidata":"https://www.wikidata.org/wiki/Q3707858","display_name":"Type (biology)","level":2,"score":0.6125050187110901},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.4687013328075409},{"id":"https://openalex.org/C53553401","wikidata":"https://www.wikidata.org/wiki/Q47307","display_name":"Genealogy","level":1,"score":0.3763914406299591},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.23046615719795227},{"id":"https://openalex.org/C95457728","wikidata":"https://www.wikidata.org/wiki/Q309","display_name":"History","level":0,"score":0.16044077277183533},{"id":"https://openalex.org/C127313418","wikidata":"https://www.wikidata.org/wiki/Q1069","display_name":"Geology","level":0,"score":0.11302787065505981},{"id":"https://openalex.org/C151730666","wikidata":"https://www.wikidata.org/wiki/Q7205","display_name":"Paleontology","level":1,"score":0.0}],"mesh":[],"locations_count":5,"locations":[{"id":"doi:10.1145/2804302.2804304","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2804302.2804304","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 2015 ACM SIGPLAN Symposium on Haskell","raw_type":"proceedings-article"},{"id":"pmh:oai:pure.atira.dk:publications/56fd418d-8728-4153-b797-d9cd25945d20","is_oa":false,"landing_page_url":"https://pure.itu.dk/portal/da/publications/56fd418d-8728-4153-b797-d9cd25945d20","pdf_url":null,"source":{"id":"https://openalex.org/S4377196680","display_name":"IT University Of Copenhagen (IT University of Copenhagen)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I83467386","host_organization_name":"IT University of Copenhagen","host_organization_lineage":["https://openalex.org/I83467386"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Serrano, A, Hage, J & Bahr, P 2015, Type Families with Class, Type Classes with Family. i Proceedings of the 8th ACM SIGPLAN Symposium on Haskell. Association for Computing Machinery, New York, NY, USA, s. 129-140. https://doi.org/10.1145/2804302.2804304","raw_type":"info:eu-repo/semantics/publishedVersion"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.708.9172","is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.708.9172","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://itu.dk/people/paba/pubs/files/serrano15haskell-extended%20version.pdf","raw_type":"text"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.725.4084","is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.725.4084","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://itu.dk/people/paba/pubs/files/serrano15haskell-paper.pdf","raw_type":"text"},{"id":"pmh:uu:oai:dspace.library.uu.nl:1874/320701","is_oa":true,"landing_page_url":"https://dspace.library.uu.nl/handle/1874/320701","pdf_url":null,"source":{"id":"https://openalex.org/S4306401843","display_name":"Data Archiving and Networked Services (DANS)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I1322597698","host_organization_name":"Royal Netherlands Academy of Arts and Sciences","host_organization_lineage":["https://openalex.org/I1322597698"],"host_organization_lineage_names":[],"type":"repository"},"license":"other-oa","license_id":"https://openalex.org/licenses/other-oa","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"Haskell Symposium 2015, 129","raw_type":"info:eu-repo/semantics/contributiontoperiodical"}],"best_oa_location":{"id":"pmh:uu:oai:dspace.library.uu.nl:1874/320701","is_oa":true,"landing_page_url":"https://dspace.library.uu.nl/handle/1874/320701","pdf_url":null,"source":{"id":"https://openalex.org/S4306401843","display_name":"Data Archiving and Networked Services (DANS)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I1322597698","host_organization_name":"Royal Netherlands Academy of Arts and Sciences","host_organization_lineage":["https://openalex.org/I1322597698"],"host_organization_lineage_names":[],"type":"repository"},"license":"other-oa","license_id":"https://openalex.org/licenses/other-oa","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"Haskell Symposium 2015, 129","raw_type":"info:eu-repo/semantics/contributiontoperiodical"},"sustainable_development_goals":[{"display_name":"Quality Education","score":0.44999998807907104,"id":"https://metadata.un.org/sdg/4"}],"awards":[{"id":"https://openalex.org/G1171528565","display_name":null,"funder_award_id":"612.001.213","funder_id":"https://openalex.org/F4320321800","funder_display_name":"Nederlandse Organisatie voor Wetenschappelijk Onderzoek"},{"id":"https://openalex.org/G8321407669","display_name":null,"funder_award_id":"12-132365","funder_id":"https://openalex.org/F4320322928","funder_display_name":"Danmarks Frie Forskningsfond"}],"funders":[{"id":"https://openalex.org/F4320321800","display_name":"Nederlandse Organisatie voor Wetenschappelijk Onderzoek","ror":"https://ror.org/04jsz6e67"},{"id":"https://openalex.org/F4320322928","display_name":"Danmarks Frie Forskningsfond","ror":"https://ror.org/02sptwz63"}],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":21,"referenced_works":["https://openalex.org/W1572984153","https://openalex.org/W1581035717","https://openalex.org/W1594279870","https://openalex.org/W1975664374","https://openalex.org/W2001538785","https://openalex.org/W2009179353","https://openalex.org/W2015617966","https://openalex.org/W2058162377","https://openalex.org/W2059895047","https://openalex.org/W2069858276","https://openalex.org/W2091033850","https://openalex.org/W2091470061","https://openalex.org/W2112474400","https://openalex.org/W2116984048","https://openalex.org/W2129777450","https://openalex.org/W2145108549","https://openalex.org/W2161408472","https://openalex.org/W2163552400","https://openalex.org/W4213453328","https://openalex.org/W6634218381","https://openalex.org/W6683983091"],"related_works":["https://openalex.org/W4391375266","https://openalex.org/W2899084033","https://openalex.org/W2748952813","https://openalex.org/W2390279801","https://openalex.org/W4391913857","https://openalex.org/W2358668433","https://openalex.org/W4396701345","https://openalex.org/W2376932109","https://openalex.org/W2001405890","https://openalex.org/W4396696052"],"abstract_inverted_index":{"Type":[0,11,33],"classes":[1,12,63],"and":[2,67,76,103,140],"type":[3,55,62,85,94,113],"families":[4,34,56,86,114],"are":[5,57],"key":[6],"ingredients":[7],"in":[8,43,137],"Haskell":[9],"programming.":[10,32],"were":[13],"introduced":[14],"to":[15,30,60,90,93,133,144],"deal":[16],"with":[17,21],"ad-hoc":[18],"polymorphism,":[19],"although":[20],"the":[22,44,74,88,106,124,148],"introduction":[23],"of":[24,46,73,78,99,126],"functional":[25],"dependencies,":[26],"their":[27],"use":[28],"expanded":[29],"type-level":[31,38],"also":[35],"allow":[36,145],"encoding":[37],"functions,":[39],"but":[40],"more":[41],"directly":[42],"form":[45],"rewrite":[47],"rules.":[48],"In":[49],"this":[50,79,135],"paper":[51],"we":[52,68],"show":[53],"that":[54,119],"powerful":[58],"enough":[59],"simulate":[61,116],"(without":[64],"overlapping":[65],"instances),":[66],"provide":[69],"a":[70,127],"formal":[71],"proof":[72],"soundness":[75],"completeness":[77],"simulation.":[80],"Encoding":[81],"instance":[82,101],"constraints":[83],"as":[84],"eases":[87],"path":[89],"proposed":[91],"extensions":[92],"classes,":[95],"like":[96],"closed":[97],"sets":[98],"instances,":[100],"chains,":[102],"control":[104],"over":[105],"search":[107],"procedure.":[108],"The":[109],"only":[110],"feature":[111],"which":[112],"cannot":[115],"is":[117],"elaboration,":[118],"is,":[120],"generating":[121],"code":[122],"from":[123],"derivation":[125],"rewriting.":[128],"We":[129],"look":[130],"at":[131],"ways":[132],"solve":[134],"problem":[136],"current":[138],"Haskell,":[139],"propose":[141],"an":[142],"extension":[143],"elaboration":[146],"during":[147],"rewriting":[149],"phase.":[150]},"counts_by_year":[{"year":2020,"cited_by_count":1},{"year":2017,"cited_by_count":3},{"year":2015,"cited_by_count":2}],"updated_date":"2026-04-05T17:49:38.594831","created_date":"2025-10-10T00:00:00"}
