{"id":"https://openalex.org/W2134394225","doi":"https://doi.org/10.1145/2804302.2804314","title":"Injective type families for Haskell","display_name":"Injective type families for Haskell","publication_year":2015,"publication_date":"2015-08-24","ids":{"openalex":"https://openalex.org/W2134394225","doi":"https://doi.org/10.1145/2804302.2804314","mag":"2134394225"},"language":"en","primary_location":{"id":"doi:10.1145/2804302.2804314","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2804302.2804314","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":false,"oa_status":"closed","oa_url":null,"any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5045726166","display_name":"Jan Stolarek","orcid":"https://orcid.org/0000-0002-0140-5689"},"institutions":[{"id":"https://openalex.org/I188884621","display_name":"Lodz University of Technology","ror":"https://ror.org/00s8fpf52","country_code":"PL","type":"education","lineage":["https://openalex.org/I188884621"]}],"countries":["PL"],"is_corresponding":true,"raw_author_name":"Jan Stolarek","raw_affiliation_strings":["Politechnika \u0141\u00f3dzka, Poland"],"affiliations":[{"raw_affiliation_string":"Politechnika \u0141\u00f3dzka, Poland","institution_ids":["https://openalex.org/I188884621"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5027817074","display_name":"Simon Peyton Jones","orcid":"https://orcid.org/0000-0002-6085-1435"},"institutions":[{"id":"https://openalex.org/I1290206253","display_name":"Microsoft (United States)","ror":"https://ror.org/00d0nc645","country_code":"US","type":"company","lineage":["https://openalex.org/I1290206253"]},{"id":"https://openalex.org/I4210164937","display_name":"Microsoft Research (United Kingdom)","ror":"https://ror.org/05k87vq12","country_code":"GB","type":"company","lineage":["https://openalex.org/I1290206253","https://openalex.org/I4210164937"]}],"countries":["GB","US"],"is_corresponding":false,"raw_author_name":"Simon Peyton Jones","raw_affiliation_strings":["Microsoft Research, UK","[Microsoft Research, UK]"],"affiliations":[{"raw_affiliation_string":"Microsoft Research, UK","institution_ids":["https://openalex.org/I4210164937"]},{"raw_affiliation_string":"[Microsoft Research, UK]","institution_ids":["https://openalex.org/I1290206253"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5082913747","display_name":"Richard A. Eisenberg","orcid":"https://orcid.org/0000-0002-7669-9781"},"institutions":[{"id":"https://openalex.org/I36788626","display_name":"California University of Pennsylvania","ror":"https://ror.org/01spssf70","country_code":"US","type":"education","lineage":["https://openalex.org/I36788626"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Richard A. Eisenberg","raw_affiliation_strings":["University of Pennsylvania, USA"],"affiliations":[{"raw_affiliation_string":"University of Pennsylvania, USA","institution_ids":["https://openalex.org/I36788626"]}]}],"institutions":[],"countries_distinct_count":3,"institutions_distinct_count":3,"corresponding_author_ids":["https://openalex.org/A5045726166"],"corresponding_institution_ids":["https://openalex.org/I188884621"],"apc_list":null,"apc_paid":null,"fwci":5.7827,"has_fulltext":false,"cited_by_count":17,"citation_normalized_percentile":{"value":0.96151469,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":89,"max":98},"biblio":{"volume":null,"issue":null,"first_page":"118","last_page":"128"},"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.9998999834060669,"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.9998999834060669,"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/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9970999956130981,"subfield":{"id":"https://openalex.org/subfields/1708","display_name":"Hardware and Architecture"},"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/T10142","display_name":"Formal Methods in Verification","score":0.996999979019165,"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"}}],"keywords":[{"id":"https://openalex.org/keywords/haskell","display_name":"Haskell","score":0.9756739139556885},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8410571813583374},{"id":"https://openalex.org/keywords/soundness","display_name":"Soundness","score":0.7591688632965088},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.7175889611244202},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.6663812398910522},{"id":"https://openalex.org/keywords/functional-programming","display_name":"Functional programming","score":0.6649441123008728},{"id":"https://openalex.org/keywords/type-inference","display_name":"Type inference","score":0.6421163082122803},{"id":"https://openalex.org/keywords/type","display_name":"Type (biology)","score":0.5660897493362427},{"id":"https://openalex.org/keywords/generic-programming","display_name":"Generic programming","score":0.5110236406326294},{"id":"https://openalex.org/keywords/compile-time","display_name":"Compile time","score":0.49309298396110535},{"id":"https://openalex.org/keywords/pattern-matching","display_name":"Pattern matching","score":0.47941869497299194},{"id":"https://openalex.org/keywords/data-type","display_name":"Data type","score":0.46233224868774414},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.3855445384979248},{"id":"https://openalex.org/keywords/inference","display_name":"Inference","score":0.23568615317344666},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.12074100971221924}],"concepts":[{"id":"https://openalex.org/C2780624054","wikidata":"https://www.wikidata.org/wiki/Q34010","display_name":"Haskell","level":3,"score":0.9756739139556885},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8410571813583374},{"id":"https://openalex.org/C39920170","wikidata":"https://www.wikidata.org/wiki/Q693083","display_name":"Soundness","level":2,"score":0.7591688632965088},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.7175889611244202},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.6663812398910522},{"id":"https://openalex.org/C42383842","wikidata":"https://www.wikidata.org/wiki/Q193076","display_name":"Functional programming","level":2,"score":0.6649441123008728},{"id":"https://openalex.org/C198370458","wikidata":"https://www.wikidata.org/wiki/Q586459","display_name":"Type inference","level":3,"score":0.6421163082122803},{"id":"https://openalex.org/C2777299769","wikidata":"https://www.wikidata.org/wiki/Q3707858","display_name":"Type (biology)","level":2,"score":0.5660897493362427},{"id":"https://openalex.org/C7051814","wikidata":"https://www.wikidata.org/wiki/Q1051282","display_name":"Generic programming","level":2,"score":0.5110236406326294},{"id":"https://openalex.org/C200833197","wikidata":"https://www.wikidata.org/wiki/Q333707","display_name":"Compile time","level":3,"score":0.49309298396110535},{"id":"https://openalex.org/C68859911","wikidata":"https://www.wikidata.org/wiki/Q1503724","display_name":"Pattern matching","level":2,"score":0.47941869497299194},{"id":"https://openalex.org/C138958017","wikidata":"https://www.wikidata.org/wiki/Q190087","display_name":"Data type","level":2,"score":0.46233224868774414},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.3855445384979248},{"id":"https://openalex.org/C2776214188","wikidata":"https://www.wikidata.org/wiki/Q408386","display_name":"Inference","level":2,"score":0.23568615317344666},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.12074100971221924},{"id":"https://openalex.org/C18903297","wikidata":"https://www.wikidata.org/wiki/Q7150","display_name":"Ecology","level":1,"score":0.0},{"id":"https://openalex.org/C86803240","wikidata":"https://www.wikidata.org/wiki/Q420","display_name":"Biology","level":0,"score":0.0}],"mesh":[],"locations_count":3,"locations":[{"id":"doi:10.1145/2804302.2804314","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2804302.2804314","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:repository.brynmawr.edu:compsci_pubs-1003","is_oa":false,"landing_page_url":"https://repository.brynmawr.edu/compsci_pubs/4","pdf_url":null,"source":{"id":"https://openalex.org/S4377196462","display_name":"Scholarship, Research, and Creative Work at Bryn Mawr College (Bryn Mawr College)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I102373834","host_organization_name":"Bryn Mawr College","host_organization_lineage":["https://openalex.org/I102373834"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"Computer Science Faculty Research and Scholarship","raw_type":"text"},{"id":"pmh:oai:repository.brynmawr.edu:compsci_pubs-1070","is_oa":false,"landing_page_url":"https://repository.brynmawr.edu/compsci_pubs/74","pdf_url":null,"source":{"id":"https://openalex.org/S4377196462","display_name":"Scholarship, Research, and Creative Work at Bryn Mawr College (Bryn Mawr College)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I102373834","host_organization_name":"Bryn Mawr College","host_organization_lineage":["https://openalex.org/I102373834"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"Computer Science Faculty Research and Scholarship","raw_type":"text"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[{"id":"https://openalex.org/G3987589001","display_name":null,"funder_award_id":"1116620","funder_id":"https://openalex.org/F4320306076","funder_display_name":"National Science Foundation"}],"funders":[{"id":"https://openalex.org/F4320306076","display_name":"National Science Foundation","ror":"https://ror.org/021nxhr62"},{"id":"https://openalex.org/F4320308943","display_name":"Microsoft Research","ror":"https://ror.org/00d0nc645"}],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":18,"referenced_works":["https://openalex.org/W1489841505","https://openalex.org/W1575675278","https://openalex.org/W1583295953","https://openalex.org/W1594279870","https://openalex.org/W1827112781","https://openalex.org/W2009179353","https://openalex.org/W2028880435","https://openalex.org/W2039211229","https://openalex.org/W2069858276","https://openalex.org/W2106226553","https://openalex.org/W2107214848","https://openalex.org/W2112474400","https://openalex.org/W2129777450","https://openalex.org/W2131653740","https://openalex.org/W2140647971","https://openalex.org/W2145108549","https://openalex.org/W2168938117","https://openalex.org/W2520254002"],"related_works":["https://openalex.org/W4246781209","https://openalex.org/W1757338326","https://openalex.org/W2129129872","https://openalex.org/W2141151161","https://openalex.org/W2088006200","https://openalex.org/W2145738007","https://openalex.org/W2031442766","https://openalex.org/W2134394225","https://openalex.org/W2520254002","https://openalex.org/W4242290320"],"abstract_inverted_index":{"Haskell,":[0],"as":[1,82],"implemented":[2,147],"by":[3,132],"the":[4,90,118,165,170],"Glasgow":[5],"Haskell":[6],"Compiler":[7],"(GHC),":[8],"allows":[9,22,76],"expressive":[10],"type-level":[11,16],"programming.":[12],"The":[13,93],"most":[14],"popular":[15],"programming":[17],"extension":[18],"is":[19,98,120],"TypeFamilies,":[20],"which":[21],"users":[23,163],"to":[24,73,79,95,157,161],"write":[25],"functions":[26,32,47,78,130],"on":[27,150],"types.":[28],"Yet,":[29],"using":[30],"type":[31,35,46,58,63,77],"can":[33,51],"cripple":[34],"inference":[36],"in":[37,45],"certain":[38],"situations.":[39],"In":[40,65],"particular,":[41],"lack":[42],"of":[43,56,89,107,126,153,169],"injectivity":[44,91],"means":[48],"that":[49,75],"GHC":[50,74,84,154],"never":[52],"infer":[53],"an":[54],"instantiation":[55],"a":[57,70,105,114,133,151],"variable":[59],"appearing":[60],"only":[61],"under":[62],"functions.":[64],"this":[66],"paper,":[67],"we":[68,137],"describe":[69],"small":[71],"modification":[72],"be":[80],"annotated":[81],"injective.":[83],"naturally":[85],"must":[86],"check":[87],"validity":[88],"annotations.":[92],"algorithm":[94,119],"do":[96],"so":[97],"surprisingly":[99],"subtle.":[100],"We":[101,145],"prove":[102,113],"soundness":[103],"for":[104],"simplification":[106],"our":[108,127,139,148],"algorithm,":[109],"and":[110,112,155],"state":[111],"completeness":[115],"property,":[116],"though":[117],"not":[121],"fully":[122],"complete.":[123],"As":[124],"much":[125],"reasoning":[128],"surrounds":[129],"defined":[131],"simple":[134],"pattern-matching":[135],"structure,":[136],"believe":[138],"results":[140],"extend":[141],"beyond":[142],"just":[143],"Haskell.":[144],"have":[146],"solution":[149],"branch":[152],"plan":[156],"make":[158],"it":[159],"available":[160],"regular":[162],"with":[164],"next":[166],"stable":[167],"release":[168],"compiler.":[171]},"counts_by_year":[{"year":2022,"cited_by_count":1},{"year":2021,"cited_by_count":1},{"year":2019,"cited_by_count":2},{"year":2018,"cited_by_count":5},{"year":2017,"cited_by_count":5},{"year":2016,"cited_by_count":1},{"year":2015,"cited_by_count":2}],"updated_date":"2026-04-04T16:13:02.066488","created_date":"2025-10-10T00:00:00"}
