{"id":"https://openalex.org/W2037037228","doi":"https://doi.org/10.1145/2737924.2738009","title":"Diagnosing type errors with class","display_name":"Diagnosing type errors with class","publication_year":2015,"publication_date":"2015-06-03","ids":{"openalex":"https://openalex.org/W2037037228","doi":"https://doi.org/10.1145/2737924.2738009","mag":"2037037228"},"language":"en","primary_location":{"id":"doi:10.1145/2737924.2738009","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2737924.2738009","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 36th ACM SIGPLAN Conference on Programming Language Design and Implementation","raw_type":"proceedings-article"},"type":"conference-paper","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/A5100722775","display_name":"Danfeng Zhang","orcid":"https://orcid.org/0000-0003-1942-6872"},"institutions":[{"id":"https://openalex.org/I205783295","display_name":"Cornell University","ror":"https://ror.org/05bnh6r87","country_code":"US","type":"education","lineage":["https://openalex.org/I205783295"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Danfeng Zhang","raw_affiliation_strings":["Cornell University, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Cornell University, USA","institution_ids":["https://openalex.org/I205783295"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5101697549","display_name":"Andrew C. Myers","orcid":"https://orcid.org/0000-0001-5819-7588"},"institutions":[{"id":"https://openalex.org/I205783295","display_name":"Cornell University","ror":"https://ror.org/05bnh6r87","country_code":"US","type":"education","lineage":["https://openalex.org/I205783295"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Andrew C. Myers","raw_affiliation_strings":["Cornell University, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Cornell University, USA","institution_ids":["https://openalex.org/I205783295"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5029108294","display_name":"Dimitrios Vytiniotis","orcid":null},"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":"Dimitrios Vytiniotis","raw_affiliation_strings":["Microsoft Research, UK","[Microsoft Research, UK]"],"raw_orcid":null,"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/A5081423958","display_name":"Simon Peyton-Jones","orcid":null},"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]"],"raw_orcid":null,"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"]}]}],"institutions":[],"countries_distinct_count":2,"institutions_distinct_count":3,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":null,"has_fulltext":true,"cited_by_count":31,"citation_normalized_percentile":null,"cited_by_percentile_year":null,"biblio":{"volume":null,"issue":null,"first_page":"12","last_page":"21"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10260","display_name":"Software Engineering Research","score":0.9995999932289124,"subfield":{"id":"https://openalex.org/subfields/1710","display_name":"Information Systems"},"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/T10260","display_name":"Software Engineering Research","score":0.9995999932289124,"subfield":{"id":"https://openalex.org/subfields/1710","display_name":"Information Systems"},"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/T10126","display_name":"Logic, programming, and type systems","score":0.9961000084877014,"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/T10028","display_name":"Topic Modeling","score":0.9657999873161316,"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/haskell","display_name":"Haskell","score":0.9462540745735168},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8291426301002502},{"id":"https://openalex.org/keywords/type-inference","display_name":"Type inference","score":0.5989553928375244},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.5858159065246582},{"id":"https://openalex.org/keywords/inference","display_name":"Inference","score":0.545074999332428},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.5281065702438354},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.5254877209663391},{"id":"https://openalex.org/keywords/intermediate-language","display_name":"Intermediate language","score":0.4717591404914856},{"id":"https://openalex.org/keywords/graph","display_name":"Graph","score":0.46088075637817383},{"id":"https://openalex.org/keywords/functional-programming","display_name":"Functional programming","score":0.33584123849868774},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.3126046061515808}],"concepts":[{"id":"https://openalex.org/C2780624054","wikidata":"https://www.wikidata.org/wiki/Q34010","display_name":"Haskell","level":3,"score":0.9462540745735168},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8291426301002502},{"id":"https://openalex.org/C198370458","wikidata":"https://www.wikidata.org/wiki/Q586459","display_name":"Type inference","level":3,"score":0.5989553928375244},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.5858159065246582},{"id":"https://openalex.org/C2776214188","wikidata":"https://www.wikidata.org/wiki/Q408386","display_name":"Inference","level":2,"score":0.545074999332428},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.5281065702438354},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.5254877209663391},{"id":"https://openalex.org/C77660490","wikidata":"https://www.wikidata.org/wiki/Q244916","display_name":"Intermediate language","level":3,"score":0.4717591404914856},{"id":"https://openalex.org/C132525143","wikidata":"https://www.wikidata.org/wiki/Q141488","display_name":"Graph","level":2,"score":0.46088075637817383},{"id":"https://openalex.org/C42383842","wikidata":"https://www.wikidata.org/wiki/Q193076","display_name":"Functional programming","level":2,"score":0.33584123849868774},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.3126046061515808}],"mesh":[],"locations_count":4,"locations":[{"id":"doi:10.1145/2737924.2738009","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2737924.2738009","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 36th ACM SIGPLAN Conference on Programming Language Design and Implementation","raw_type":"proceedings-article"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.696.1181","is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.696.1181","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://research.microsoft.com/en-US/people/dimitris/diagnosing-type-errors-draft.pdf","raw_type":"text"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.720.600","is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.720.600","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://www.cse.psu.edu/%7Edbz5017/pub/pldi15.pdf","raw_type":"text"},{"id":"pmh:oai:ecommons.cornell.edu:1813/39907","is_oa":false,"landing_page_url":"https://hdl.handle.net/1813/39907","pdf_url":null,"source":{"id":"https://openalex.org/S4306400757","display_name":"eCommons (Cornell University)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I205783295","host_organization_name":"Cornell University","host_organization_lineage":["https://openalex.org/I205783295"],"host_organization_lineage_names":[],"type":"repository"},"license":"public-domain","license_id":"https://openalex.org/licenses/public-domain","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":null,"raw_type":null}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[{"id":"https://openalex.org/G7150940694","display_name":null,"funder_award_id":"N00014-13-1-0089","funder_id":"https://openalex.org/F4320337345","funder_display_name":"Office of Naval Research"},{"id":"https://openalex.org/G996347767","display_name":null,"funder_award_id":"CCF-0964409","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/F4320333591","display_name":"Multidisciplinary University Research Initiative","ror":null},{"id":"https://openalex.org/F4320337345","display_name":"Office of Naval Research","ror":"https://ror.org/00rk2pe57"}],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":35,"referenced_works":["https://openalex.org/W184339100","https://openalex.org/W1506661840","https://openalex.org/W1568497055","https://openalex.org/W2011725693","https://openalex.org/W2011824721","https://openalex.org/W2022443117","https://openalex.org/W2029079408","https://openalex.org/W2040152339","https://openalex.org/W2045041259","https://openalex.org/W2045313089","https://openalex.org/W2056310485","https://openalex.org/W2064982280","https://openalex.org/W2068336423","https://openalex.org/W2068457689","https://openalex.org/W2069858276","https://openalex.org/W2096973632","https://openalex.org/W2098374496","https://openalex.org/W2114692640","https://openalex.org/W2131916293","https://openalex.org/W2134093956","https://openalex.org/W2135565307","https://openalex.org/W2147609113","https://openalex.org/W2157859774","https://openalex.org/W2166414999","https://openalex.org/W2168280960","https://openalex.org/W2170257749","https://openalex.org/W2187961666","https://openalex.org/W2293332143","https://openalex.org/W2406569985","https://openalex.org/W2561675875","https://openalex.org/W4285719527","https://openalex.org/W4298474179","https://openalex.org/W6634089098","https://openalex.org/W6685397617","https://openalex.org/W6696838260"],"related_works":["https://openalex.org/W2090337950","https://openalex.org/W1886401053","https://openalex.org/W2046806568","https://openalex.org/W2112263414","https://openalex.org/W3004782279","https://openalex.org/W1550049051","https://openalex.org/W1602185604","https://openalex.org/W2028779182","https://openalex.org/W2095136535","https://openalex.org/W2005083846"],"abstract_inverted_index":{"Type":[0],"inference":[1,61,116],"engines":[2],"often":[3],"give":[4],"terrible":[5],"error":[6,71,110,157],"messages,":[7],"and":[8,39,142,162],"the":[9,12,15,17,24,31,46,51,56,60,69,84,87,94,118,126,134,167,170],"more":[10],"sophisticated":[11],"type":[13,27,36,40,52,114,120],"system":[14,28,121],"worse":[16],"problem.":[18],"We":[19],"show":[20,154],"that":[21,59,155],"even":[22],"with":[23,128],"highly":[25],"expressive":[26],"implemented":[29],"by":[30],"Glasgow":[32],"Haskell":[33,123,151],"Compiler":[34],"(GHC)--including":[35],"classes,":[37],"GADTs,":[38],"families--it":[41],"is":[42,160],"possible":[43,101],"to":[44,79],"identify":[45],"most":[47],"likely":[48,70],"source":[49,58],"of":[50,83,91,122,133,150,169],"error,":[53],"rather":[54],"than":[55],"first":[57],"engine":[62],"trips":[63],"over.":[64],"To":[65],"determine":[66],"which":[67],"are":[68],"sources,":[72],"we":[73,104,153],"apply":[74],"a":[75,80,147],"simple":[76],"Bayesian":[77,140],"model":[78],"graph":[81,95,127,135],"representation":[82],"typing":[85],"constraints;":[86],"satisfiability":[88],"or":[89,99],"unsatisfiability":[90],"paths":[92],"within":[93],"provides":[96],"evidence":[97],"for":[98,112,139,143],"against":[100],"explanations.":[102],"While":[103],"build":[105],"on":[106,109],"prior":[107],"work":[108],"diagnosis":[111],"simpler":[113],"systems,":[115],"in":[117],"richer":[119],"requires":[124],"extending":[125],"new":[129],"nodes.":[130],"The":[131],"augmentation":[132],"creates":[136],"challenges":[137],"both":[138],"reasoning":[141],"ensuring":[144],"termination.":[145],"Using":[146],"large":[148],"corpus":[149],"programs,":[152],"this":[156],"localization":[158],"technique":[159],"practical":[161],"significantly":[163],"improves":[164],"accuracy":[165],"over":[166],"state":[168],"art.":[171]},"counts_by_year":[{"year":2026,"cited_by_count":1},{"year":2025,"cited_by_count":1},{"year":2021,"cited_by_count":1},{"year":2020,"cited_by_count":6},{"year":2019,"cited_by_count":3},{"year":2018,"cited_by_count":4},{"year":2017,"cited_by_count":4},{"year":2016,"cited_by_count":9},{"year":2015,"cited_by_count":2}],"updated_date":"2026-07-14T23:27:15.235271","created_date":"2025-10-10T00:00:00"}
