{"id":"https://openalex.org/W4408014845","doi":"https://doi.org/10.22152/programming-journal.org/2026/10/15","title":"On the State of Coherence in the Land of Type Classes","display_name":"On the State of Coherence in the Land of Type Classes","publication_year":2025,"publication_date":"2025-02-15","ids":{"openalex":"https://openalex.org/W4408014845","doi":"https://doi.org/10.22152/programming-journal.org/2026/10/15"},"language":"en","primary_location":{"id":"doi:10.22152/programming-journal.org/2026/10/15","is_oa":true,"landing_page_url":"https://doi.org/10.22152/programming-journal.org/2026/10/15","pdf_url":"https://arxiv.org/pdf/2502.20546v1.pdf","source":{"id":"https://openalex.org/S4210199781","display_name":"The Art Science and Engineering of Programming","issn_l":"2473-7321","issn":["2473-7321"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"The Art, Science, and Engineering of Programming","raw_type":"journal-article"},"type":"article","indexed_in":["arxiv","crossref"],"open_access":{"is_oa":true,"oa_status":"bronze","oa_url":"https://arxiv.org/pdf/2502.20546v1.pdf","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5029606873","display_name":"Dimitri Racordon","orcid":"https://orcid.org/0000-0003-0299-3993"},"institutions":[{"id":"https://openalex.org/I5124864","display_name":"\u00c9cole Polytechnique F\u00e9d\u00e9rale de Lausanne","ror":"https://ror.org/02s376052","country_code":"CH","type":"education","lineage":["https://openalex.org/I2799323385","https://openalex.org/I5124864"]}],"countries":["CH"],"is_corresponding":true,"raw_author_name":"Dimi Racordon","raw_affiliation_strings":["EPFL, Switzerland"],"affiliations":[{"raw_affiliation_string":"EPFL, Switzerland","institution_ids":["https://openalex.org/I5124864"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5107187098","display_name":"Eugene Flesselle","orcid":null},"institutions":[{"id":"https://openalex.org/I5124864","display_name":"\u00c9cole Polytechnique F\u00e9d\u00e9rale de Lausanne","ror":"https://ror.org/02s376052","country_code":"CH","type":"education","lineage":["https://openalex.org/I2799323385","https://openalex.org/I5124864"]}],"countries":["CH"],"is_corresponding":false,"raw_author_name":"Eugene Flesselle","raw_affiliation_strings":["EPFL, Switzerland"],"affiliations":[{"raw_affiliation_string":"EPFL, Switzerland","institution_ids":["https://openalex.org/I5124864"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5107187319","display_name":"Cao Nguyen Pham","orcid":null},"institutions":[{"id":"https://openalex.org/I5124864","display_name":"\u00c9cole Polytechnique F\u00e9d\u00e9rale de Lausanne","ror":"https://ror.org/02s376052","country_code":"CH","type":"education","lineage":["https://openalex.org/I2799323385","https://openalex.org/I5124864"]}],"countries":["CH"],"is_corresponding":false,"raw_author_name":"Cao Nguyen Pham","raw_affiliation_strings":["EPFL, Switzerland"],"affiliations":[{"raw_affiliation_string":"EPFL, Switzerland","institution_ids":["https://openalex.org/I5124864"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":3,"corresponding_author_ids":["https://openalex.org/A5029606873"],"corresponding_institution_ids":["https://openalex.org/I5124864"],"apc_list":null,"apc_paid":null,"fwci":0.0,"has_fulltext":true,"cited_by_count":0,"citation_normalized_percentile":{"value":0.04610762,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":null,"biblio":{"volume":"10","issue":"1","first_page":null,"last_page":null},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T11743","display_name":"Political Economy and Marxism","score":0.3695000112056732,"subfield":{"id":"https://openalex.org/subfields/3312","display_name":"Sociology and Political Science"},"field":{"id":"https://openalex.org/fields/33","display_name":"Social Sciences"},"domain":{"id":"https://openalex.org/domains/2","display_name":"Social Sciences"}},"topics":[{"id":"https://openalex.org/T11743","display_name":"Political Economy and Marxism","score":0.3695000112056732,"subfield":{"id":"https://openalex.org/subfields/3312","display_name":"Sociology and Political Science"},"field":{"id":"https://openalex.org/fields/33","display_name":"Social Sciences"},"domain":{"id":"https://openalex.org/domains/2","display_name":"Social Sciences"}}],"keywords":[{"id":"https://openalex.org/keywords/coherence","display_name":"Coherence (philosophical gambling strategy)","score":0.6272422075271606},{"id":"https://openalex.org/keywords/state","display_name":"State (computer science)","score":0.5413105487823486},{"id":"https://openalex.org/keywords/type","display_name":"Type (biology)","score":0.41575130820274353},{"id":"https://openalex.org/keywords/geography","display_name":"Geography","score":0.3695930242538452},{"id":"https://openalex.org/keywords/environmental-science","display_name":"Environmental science","score":0.36457276344299316},{"id":"https://openalex.org/keywords/geology","display_name":"Geology","score":0.2522050440311432},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.2412671148777008},{"id":"https://openalex.org/keywords/mathematics","display_name":"Mathematics","score":0.19937509298324585},{"id":"https://openalex.org/keywords/statistics","display_name":"Statistics","score":0.11813071370124817},{"id":"https://openalex.org/keywords/paleontology","display_name":"Paleontology","score":0.1100015640258789},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.07821023464202881}],"concepts":[{"id":"https://openalex.org/C2781181686","wikidata":"https://www.wikidata.org/wiki/Q4226068","display_name":"Coherence (philosophical gambling strategy)","level":2,"score":0.6272422075271606},{"id":"https://openalex.org/C48103436","wikidata":"https://www.wikidata.org/wiki/Q599031","display_name":"State (computer science)","level":2,"score":0.5413105487823486},{"id":"https://openalex.org/C2777299769","wikidata":"https://www.wikidata.org/wiki/Q3707858","display_name":"Type (biology)","level":2,"score":0.41575130820274353},{"id":"https://openalex.org/C205649164","wikidata":"https://www.wikidata.org/wiki/Q1071","display_name":"Geography","level":0,"score":0.3695930242538452},{"id":"https://openalex.org/C39432304","wikidata":"https://www.wikidata.org/wiki/Q188847","display_name":"Environmental science","level":0,"score":0.36457276344299316},{"id":"https://openalex.org/C127313418","wikidata":"https://www.wikidata.org/wiki/Q1069","display_name":"Geology","level":0,"score":0.2522050440311432},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.2412671148777008},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.19937509298324585},{"id":"https://openalex.org/C105795698","wikidata":"https://www.wikidata.org/wiki/Q12483","display_name":"Statistics","level":1,"score":0.11813071370124817},{"id":"https://openalex.org/C151730666","wikidata":"https://www.wikidata.org/wiki/Q7205","display_name":"Paleontology","level":1,"score":0.1100015640258789},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.07821023464202881}],"mesh":[],"locations_count":2,"locations":[{"id":"doi:10.22152/programming-journal.org/2026/10/15","is_oa":true,"landing_page_url":"https://doi.org/10.22152/programming-journal.org/2026/10/15","pdf_url":"https://arxiv.org/pdf/2502.20546v1.pdf","source":{"id":"https://openalex.org/S4210199781","display_name":"The Art Science and Engineering of Programming","issn_l":"2473-7321","issn":["2473-7321"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"The Art, Science, and Engineering of Programming","raw_type":"journal-article"},{"id":"pmh:oai:arXiv.org:2502.20546","is_oa":true,"landing_page_url":"http://arxiv.org/abs/2502.20546","pdf_url":"https://arxiv.org/pdf/2502.20546","source":{"id":"https://openalex.org/S4393918464","display_name":"ArXiv.org","issn_l":"2331-8422","issn":["2331-8422"],"is_oa":true,"is_in_doaj":false,"is_core":false,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"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"}],"best_oa_location":{"id":"doi:10.22152/programming-journal.org/2026/10/15","is_oa":true,"landing_page_url":"https://doi.org/10.22152/programming-journal.org/2026/10/15","pdf_url":"https://arxiv.org/pdf/2502.20546v1.pdf","source":{"id":"https://openalex.org/S4210199781","display_name":"The Art Science and Engineering of Programming","issn_l":"2473-7321","issn":["2473-7321"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"The Art, Science, and Engineering of Programming","raw_type":"journal-article"},"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"pdf":true,"grobid_xml":true},"content_urls":{"pdf":"https://content.openalex.org/works/W4408014845.pdf","grobid_xml":"https://content.openalex.org/works/W4408014845.grobid-xml"},"referenced_works_count":0,"referenced_works":[],"related_works":["https://openalex.org/W2748952813","https://openalex.org/W3034410548","https://openalex.org/W1982640233","https://openalex.org/W4389011229","https://openalex.org/W3036953692","https://openalex.org/W2025987852","https://openalex.org/W2021920346","https://openalex.org/W4318372922","https://openalex.org/W1478985928","https://openalex.org/W2120465901"],"abstract_inverted_index":{"Type":[0],"classes":[1,49,192,259],"are":[2,280],"a":[3,67,93,103,185,203,236],"popular":[4,255],"tool":[5],"for":[6,136,229],"implementing":[7],"generic":[8],"algorithms":[9],"and":[10,22,44,143,166,193,207,232,252,261,278],"data":[11],"structures":[12],"without":[13],"loss":[14],"of":[15,47,66,92,98,163,188,197,238,297,300],"efficiency,":[16],"bridging":[17],"the":[18,55,80,86,90,113,125,128,161,176,198,215,239,286,295,298],"gap":[19],"between":[20],"parametric":[21],"ad-hoc":[23],"polymorphism.Since":[24],"their":[25,263],"initial":[26],"development":[27],"in":[28,34,51,160,284],"Haskell,":[29],"they":[30],"now":[31],"feature":[32],"prominently":[33],"numerous":[35],"other":[36,153,212],"industry-ready":[37],"programming":[38,100],"languages,":[39],"notably":[40],"including":[41],"Swift,":[42,250,276],"Rust,":[43,251,277],"Scala.The":[45],"success":[46],"type":[48,95,170,191,258,301],"hinges":[50],"large":[52,186],"part":[53],"on":[54,127,146,190,202],"compilers'":[56],"ability":[57],"to":[58,61,131,150,179,234,248,265,267,292],"infer":[59],"arguments":[60],"implicit":[62,73,99,139,194],"parameters":[63],"by":[64],"means":[65],"type-directed":[68,104],"resolution.This":[69],"technique,":[70],"sometimes":[71],"dubbed":[72],"programming,":[74,195],"lets":[75],"users":[76,231],"elide":[77],"information":[78],"that":[79,102,115,155,169,285],"language":[81,230],"implementation":[82,91],"can":[83],"deduce":[84],"from":[85],"context,":[87],"such":[88],"as":[89],"particular":[94],"class.One":[96],"drawback":[97],"is":[101,141],"resolution":[105,140],"may":[106],"yield":[107],"ambiguous":[108],"results,":[109],"thereby":[110],"threatening":[111],"coherence,":[112],"property":[114],"valid":[116],"programs":[117],"have":[118,217],"exactly":[119],"one":[120],"meaning.This":[121],"issue":[122],"has":[123],"divided":[124],"community":[126],"right":[129],"approach":[130,264],"address":[132],"it.One":[133],"side":[134],"advocates":[135],"flexibility":[137],"where":[138],"context-sensitive":[142],"often":[144],"relies":[145],"dependent":[147],"typing":[148],"features":[149,220],"uphold":[151],"soundness.The":[152],"holds":[154],"context":[156],"should":[157],"not":[158],"stand":[159],"way":[162],"equational":[164],"reasoning":[165],"typically":[167],"imposes":[168],"class":[171,302],"instances":[172],"be":[173],"unique":[174],"across":[175],"entire":[177],"program":[178],"fend":[180],"off":[181],"ambiguities.Although":[182],"there":[183],"exists":[184],"body":[187],"work":[189,293],"most":[196],"scholarly":[199],"literature":[200],"focuses":[201],"few":[204],"select":[205],"languages":[206,256,288],"offers":[208],"little":[209],"insight":[210],"into":[211],"mainstream":[213],"projects.Meanwhile,":[214],"latter":[216],"evolved":[218],"similar":[219,283],"and/or":[221],"restrictions":[222],"under":[223],"different":[224],"names,":[225],"making":[226],"it":[227],"difficult":[228],"designers":[233],"get":[235],"sense":[237],"full":[240],"design":[241],"space.To":[242],"alleviate":[243],"this":[244],"issue,":[245],"we":[246],"set":[247],"examine":[249],"Scala,":[253],"three":[254,287],"featuring":[257],"heavily,":[260],"relate":[262],"coherence":[266],"Haskell's.It":[268],"turns":[269],"out":[270],"that,":[271],"beyond":[272],"superficial":[273],"syntactic":[274],"differences,":[275],"Haskell":[279],"actually":[281],"strikingly":[282],"offer":[289],"comparable":[290],"strategies":[291],"around":[294],"limitations":[296],"uniqueness":[299],"instances.":[303]},"counts_by_year":[],"updated_date":"2026-03-20T23:20:44.827607","created_date":"2025-10-10T00:00:00"}
