{"id":"https://openalex.org/W2953494301","doi":"https://doi.org/10.1145/3341695","title":"Coherence of type class resolution","display_name":"Coherence of type class resolution","publication_year":2019,"publication_date":"2019-07-26","ids":{"openalex":"https://openalex.org/W2953494301","doi":"https://doi.org/10.1145/3341695","mag":"2953494301"},"language":"en","primary_location":{"id":"doi:10.1145/3341695","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3341695","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3341695","source":{"id":"https://openalex.org/S4210216081","display_name":"Proceedings of the ACM on Programming Languages","issn_l":"2475-1421","issn":["2475-1421"],"is_oa":true,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the ACM on Programming Languages","raw_type":"journal-article"},"type":"article","indexed_in":["arxiv","crossref"],"open_access":{"is_oa":true,"oa_status":"diamond","oa_url":"https://dl.acm.org/doi/pdf/10.1145/3341695","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":null,"display_name":"Gert-Jan Bottu","orcid":null},"institutions":[{"id":"https://openalex.org/I99464096","display_name":"KU Leuven","ror":"https://ror.org/05f950310","country_code":"BE","type":"education","lineage":["https://openalex.org/I99464096"]}],"countries":["BE"],"is_corresponding":true,"raw_author_name":"Gert-Jan Bottu","raw_affiliation_strings":["KU Leuven, Belgium"],"affiliations":[{"raw_affiliation_string":"KU Leuven, Belgium","institution_ids":["https://openalex.org/I99464096"]}]},{"author_position":"middle","author":{"id":null,"display_name":"Ningning Xie","orcid":null},"institutions":[{"id":"https://openalex.org/I889458895","display_name":"University of Hong Kong","ror":"https://ror.org/02zhqgq86","country_code":"HK","type":"education","lineage":["https://openalex.org/I889458895"]}],"countries":["HK"],"is_corresponding":false,"raw_author_name":"Ningning Xie","raw_affiliation_strings":["University of Hong Kong, China"],"affiliations":[{"raw_affiliation_string":"University of Hong Kong, China","institution_ids":["https://openalex.org/I889458895"]}]},{"author_position":"middle","author":{"id":null,"display_name":"Koar Marntirosian","orcid":null},"institutions":[{"id":"https://openalex.org/I99464096","display_name":"KU Leuven","ror":"https://ror.org/05f950310","country_code":"BE","type":"education","lineage":["https://openalex.org/I99464096"]}],"countries":["BE"],"is_corresponding":false,"raw_author_name":"Koar Marntirosian","raw_affiliation_strings":["KU Leuven, Belgium"],"affiliations":[{"raw_affiliation_string":"KU Leuven, Belgium","institution_ids":["https://openalex.org/I99464096"]}]},{"author_position":"last","author":{"id":null,"display_name":"Tom Schrijvers","orcid":null},"institutions":[{"id":"https://openalex.org/I99464096","display_name":"KU Leuven","ror":"https://ror.org/05f950310","country_code":"BE","type":"education","lineage":["https://openalex.org/I99464096"]}],"countries":["BE"],"is_corresponding":false,"raw_author_name":"Tom Schrijvers","raw_affiliation_strings":["KU Leuven, Belgium"],"affiliations":[{"raw_affiliation_string":"KU Leuven, Belgium","institution_ids":["https://openalex.org/I99464096"]}]}],"institutions":[],"countries_distinct_count":2,"institutions_distinct_count":4,"corresponding_author_ids":[],"corresponding_institution_ids":["https://openalex.org/I99464096"],"apc_list":null,"apc_paid":null,"fwci":0.7225,"has_fulltext":true,"cited_by_count":9,"citation_normalized_percentile":{"value":0.78432454,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":89,"max":96},"biblio":{"volume":"3","issue":"ICFP","first_page":"1","last_page":"28"},"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.9139999747276306,"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.9139999747276306,"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/T10260","display_name":"Software Engineering Research","score":0.019999999552965164,"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/T11450","display_name":"Model-Driven Software Engineering Techniques","score":0.019600000232458115,"subfield":{"id":"https://openalex.org/subfields/1712","display_name":"Software"},"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/coherence","display_name":"Coherence (philosophical gambling strategy)","score":0.6675000190734863},{"id":"https://openalex.org/keywords/property","display_name":"Property (philosophy)","score":0.6159999966621399},{"id":"https://openalex.org/keywords/logical-equivalence","display_name":"Logical equivalence","score":0.546999990940094},{"id":"https://openalex.org/keywords/equivalence","display_name":"Equivalence (formal languages)","score":0.524399995803833},{"id":"https://openalex.org/keywords/resolution","display_name":"Resolution (logic)","score":0.4291999936103821},{"id":"https://openalex.org/keywords/class","display_name":"Class (philosophy)","score":0.4196999967098236},{"id":"https://openalex.org/keywords/semantics","display_name":"Semantics (computer science)","score":0.40549999475479126},{"id":"https://openalex.org/keywords/coherence-theory","display_name":"Coherence theory","score":0.3506999909877777},{"id":"https://openalex.org/keywords/type","display_name":"Type (biology)","score":0.3431999981403351}],"concepts":[{"id":"https://openalex.org/C2781181686","wikidata":"https://www.wikidata.org/wiki/Q4226068","display_name":"Coherence (philosophical gambling strategy)","level":2,"score":0.6675000190734863},{"id":"https://openalex.org/C189950617","wikidata":"https://www.wikidata.org/wiki/Q937228","display_name":"Property (philosophy)","level":2,"score":0.6159999966621399},{"id":"https://openalex.org/C70846408","wikidata":"https://www.wikidata.org/wiki/Q220433","display_name":"Logical equivalence","level":3,"score":0.546999990940094},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.5408999919891357},{"id":"https://openalex.org/C2780069185","wikidata":"https://www.wikidata.org/wiki/Q7977945","display_name":"Equivalence (formal languages)","level":2,"score":0.524399995803833},{"id":"https://openalex.org/C138268822","wikidata":"https://www.wikidata.org/wiki/Q1051925","display_name":"Resolution (logic)","level":2,"score":0.4291999936103821},{"id":"https://openalex.org/C2777212361","wikidata":"https://www.wikidata.org/wiki/Q5127848","display_name":"Class (philosophy)","level":2,"score":0.4196999967098236},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.40549999475479126},{"id":"https://openalex.org/C184337299","wikidata":"https://www.wikidata.org/wiki/Q1437428","display_name":"Semantics (computer science)","level":2,"score":0.40549999475479126},{"id":"https://openalex.org/C165485753","wikidata":"https://www.wikidata.org/wiki/Q54800742","display_name":"Coherence theory","level":4,"score":0.3506999909877777},{"id":"https://openalex.org/C2777299769","wikidata":"https://www.wikidata.org/wiki/Q3707858","display_name":"Type (biology)","level":2,"score":0.3431999981403351},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.34139999747276306},{"id":"https://openalex.org/C136119220","wikidata":"https://www.wikidata.org/wiki/Q1000660","display_name":"Algebra over a field","level":2,"score":0.3222000002861023},{"id":"https://openalex.org/C2777044963","wikidata":"https://www.wikidata.org/wiki/Q5384707","display_name":"Equivalence class (music)","level":2,"score":0.3199000060558319},{"id":"https://openalex.org/C11413529","wikidata":"https://www.wikidata.org/wiki/Q8366","display_name":"Algorithm","level":1,"score":0.3125999867916107},{"id":"https://openalex.org/C2776036281","wikidata":"https://www.wikidata.org/wiki/Q48769818","display_name":"Constraint (computer-aided design)","level":2,"score":0.30250000953674316},{"id":"https://openalex.org/C136979486","wikidata":"https://www.wikidata.org/wiki/Q773483","display_name":"Existential quantification","level":2,"score":0.30160000920295715},{"id":"https://openalex.org/C123556308","wikidata":"https://www.wikidata.org/wiki/Q484761","display_name":"Philosophy of language","level":3,"score":0.30079999566078186},{"id":"https://openalex.org/C118615104","wikidata":"https://www.wikidata.org/wiki/Q121416","display_name":"Discrete mathematics","level":1,"score":0.295199990272522},{"id":"https://openalex.org/C2777686260","wikidata":"https://www.wikidata.org/wiki/Q144037","display_name":"Calculus (dental)","level":2,"score":0.2800000011920929},{"id":"https://openalex.org/C134752490","wikidata":"https://www.wikidata.org/wiki/Q374182","display_name":"Logical consequence","level":2,"score":0.26969999074935913},{"id":"https://openalex.org/C78344899","wikidata":"https://www.wikidata.org/wiki/Q638442","display_name":"Modal operator","level":4,"score":0.2694999873638153},{"id":"https://openalex.org/C102315432","wikidata":"https://www.wikidata.org/wiki/Q649732","display_name":"Formal system","level":2,"score":0.26660001277923584},{"id":"https://openalex.org/C192183473","wikidata":"https://www.wikidata.org/wiki/Q131133","display_name":"Determinism","level":2,"score":0.2590000033378601},{"id":"https://openalex.org/C195324797","wikidata":"https://www.wikidata.org/wiki/Q33742","display_name":"Natural language","level":2,"score":0.2590000033378601},{"id":"https://openalex.org/C156325763","wikidata":"https://www.wikidata.org/wiki/Q1930895","display_name":"Operational semantics","level":3,"score":0.2549999952316284},{"id":"https://openalex.org/C3746660","wikidata":"https://www.wikidata.org/wiki/Q1068763","display_name":"Rule of inference","level":2,"score":0.2515999972820282},{"id":"https://openalex.org/C93682546","wikidata":"https://www.wikidata.org/wiki/Q1056428","display_name":"Type theory","level":3,"score":0.25119999051094055}],"mesh":[],"locations_count":3,"locations":[{"id":"doi:10.1145/3341695","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3341695","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3341695","source":{"id":"https://openalex.org/S4210216081","display_name":"Proceedings of the ACM on Programming Languages","issn_l":"2475-1421","issn":["2475-1421"],"is_oa":true,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the ACM on Programming Languages","raw_type":"journal-article"},{"id":"pmh:oai:arXiv.org:1907.00844","is_oa":true,"landing_page_url":"http://arxiv.org/abs/1907.00844","pdf_url":"https://arxiv.org/pdf/1907.00844","source":{"id":"https://openalex.org/S4306400194","display_name":"arXiv (Cornell University)","issn_l":null,"issn":null,"is_oa":true,"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":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":null,"raw_type":"text"},{"id":"pmh:oai:lirias2repo.kuleuven.be:123456789/638819","is_oa":true,"landing_page_url":"https://lirias.kuleuven.be/handle/123456789/638819","pdf_url":"https://lirias.kuleuven.be/bitstream/123456789/638819/4/coherence_type_class_resolution.pdf","source":{"id":"https://openalex.org/S4306401954","display_name":"Lirias (KU Leuven)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I99464096","host_organization_name":"KU Leuven","host_organization_lineage":["https://openalex.org/I99464096"],"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":"Proceedings of the ACM on Programming Languages, vol. 3, Art.No. 91","raw_type":"info:eu-repo/semantics/publishedVersion"}],"best_oa_location":{"id":"doi:10.1145/3341695","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3341695","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3341695","source":{"id":"https://openalex.org/S4210216081","display_name":"Proceedings of the ACM on Programming Languages","issn_l":"2475-1421","issn":["2475-1421"],"is_oa":true,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the ACM on Programming Languages","raw_type":"journal-article"},"sustainable_development_goals":[],"awards":[{"id":"https://openalex.org/G5370088028","display_name":null,"funder_award_id":"17210617, 17258816","funder_id":"https://openalex.org/F4320334890","funder_display_name":"University Research Committee, University of Hong Kong"}],"funders":[{"id":"https://openalex.org/F4320321730","display_name":"Fonds Wetenschappelijk Onderzoek","ror":"https://ror.org/03qtxy027"},{"id":"https://openalex.org/F4320334890","display_name":"University Research Committee, University of Hong Kong","ror":"https://ror.org/02zhqgq86"}],"has_content":{"grobid_xml":true,"pdf":true},"content_urls":{"pdf":"https://content.openalex.org/works/W2953494301.pdf","grobid_xml":"https://content.openalex.org/works/W2953494301.grobid-xml"},"referenced_works_count":21,"referenced_works":["https://openalex.org/W1508098446","https://openalex.org/W1551531572","https://openalex.org/W1558115254","https://openalex.org/W1664326696","https://openalex.org/W1965297988","https://openalex.org/W2036676170","https://openalex.org/W2059895047","https://openalex.org/W2095136535","https://openalex.org/W2140647971","https://openalex.org/W2145108549","https://openalex.org/W2154405351","https://openalex.org/W2751718667","https://openalex.org/W2772486871","https://openalex.org/W2888153140","https://openalex.org/W2891165052","https://openalex.org/W2912261953","https://openalex.org/W4213453328","https://openalex.org/W4237270226","https://openalex.org/W4247549863","https://openalex.org/W4251000889","https://openalex.org/W4252649616"],"related_works":[],"abstract_inverted_index":{"Elaboration-based":[0],"type":[1],"class":[2],"resolution,":[3],"as":[4,62,64],"found":[5],"in":[6,26,75],"languages":[7],"like":[8,82],"Haskell,":[9],"Mercury":[10],"and":[11,31,84,150,172],"PureScript,":[12],"is":[13,36,58,68,99],"generally":[14,59],"nondeterministic:":[15],"there":[16,67,155],"can":[17,113],"be":[18,114],"multiple":[19],"ways":[20],"to":[21,93,168],"satisfy":[22],"a":[23,90,107,122,135],"wanted":[24],"constraint":[25],"terms":[27],"of":[28,72,78,80,130,179],"global":[29],"instances":[30],"locally":[32],"given":[33],"constraints.":[34],"Coherence":[35],"the":[37,48,76,95,102,128,157,176,182],"key":[38],"property":[39,74],"that":[40,118,138,146],"keeps":[41],"this":[42,73,188],"sane;":[43],"it":[44],"guarantees":[45],"that,":[46],"despite":[47],"nondeterminism,":[49,81],"programs":[50],"still":[51],"behave":[52],"predictably.":[53],"Even":[54],"though":[55],"elaboration-based":[56],"resolution":[57,105],"assumed":[60],"coherent,":[61],"far":[63],"we":[65,133],"know,":[66],"no":[69],"formal":[70,91],"proof":[71,92,98],"presence":[77],"sources":[79],"superclasses":[83],"flexible":[85],"contexts.":[86],"This":[87],"paper":[88],"provides":[89],"remedy":[94],"situation.":[96],"The":[97],"non-trivial":[100],"because":[101],"semantics":[103],"elaborates":[104,140,153],"into":[106,142,156],"target":[108,158],"language":[109,124,145],"where":[110],"different":[111],"elaborations":[112],"distinguished":[115],"by":[116,127],"contexts":[117],"do":[119],"not":[120],"have":[121],"source":[123],"counterpart.":[125],"Inspired":[126],"notion":[129],"full":[131],"abstraction,":[132],"present":[134],"two-step":[136],"strategy":[137],"first":[139,177],"nondeterministically":[141],"an":[143,162],"intermediate":[144],"preserves":[147,187],"contextual":[148,170],"equivalence,":[149],"then":[151],"deterministically":[152],"from":[154],"language.":[159],"We":[160],"use":[161],"approach":[163],"based":[164],"on":[165],"logical":[166],"relations":[167],"establish":[169],"equivalence":[171],"thus":[173],"coherence":[174,189],"for":[175],"step":[178],"elaboration,":[180],"while":[181],"second":[183],"step\u2019s":[184],"determinism":[185],"straightforwardly":[186],"property.":[190]},"counts_by_year":[{"year":2025,"cited_by_count":1},{"year":2024,"cited_by_count":2},{"year":2023,"cited_by_count":1},{"year":2022,"cited_by_count":2},{"year":2021,"cited_by_count":1},{"year":2020,"cited_by_count":1},{"year":2019,"cited_by_count":1}],"updated_date":"2026-04-09T08:11:56.329763","created_date":"2019-07-12T00:00:00"}
