{"id":"https://openalex.org/W3030705729","doi":"https://doi.org/10.1017/s0956796820000131","title":"Explicit effect subtyping","display_name":"Explicit effect subtyping","publication_year":2020,"publication_date":"2020-01-01","ids":{"openalex":"https://openalex.org/W3030705729","doi":"https://doi.org/10.1017/s0956796820000131","mag":"3030705729"},"language":"en","primary_location":{"id":"doi:10.1017/s0956796820000131","is_oa":false,"landing_page_url":"https://doi.org/10.1017/s0956796820000131","pdf_url":null,"source":{"id":"https://openalex.org/S12266929","display_name":"Journal of Functional Programming","issn_l":"0956-7968","issn":["0956-7968","1469-7653"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310311721","host_organization_name":"Cambridge University Press","host_organization_lineage":["https://openalex.org/P4310311721","https://openalex.org/P4310311702"],"host_organization_lineage_names":["Cambridge University Press","University of Cambridge"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Journal of Functional Programming","raw_type":"journal-article"},"type":"article","indexed_in":["arxiv","crossref"],"open_access":{"is_oa":true,"oa_status":"green","oa_url":"https://lirias.kuleuven.be/handle/123456789/660167","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5061379472","display_name":"Georgios Karachalias","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":"GEORGIOS KARACHALIAS","raw_affiliation_strings":["Department of Computer Science, KU Leuven, Belgium Tweag I/O (e-mail:"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Department of Computer Science, KU Leuven, Belgium Tweag I/O (e-mail:","institution_ids":["https://openalex.org/I99464096"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5078127242","display_name":"Matija Pretnar","orcid":"https://orcid.org/0000-0001-7755-2303"},"institutions":[{"id":"https://openalex.org/I153976015","display_name":"University of Ljubljana","ror":"https://ror.org/05njb9z20","country_code":"SI","type":"education","lineage":["https://openalex.org/I153976015"]}],"countries":["SI"],"is_corresponding":false,"raw_author_name":"MATIJA PRETNAR","raw_affiliation_strings":["Faculty of Mathematics and Physics, University of Ljubljana, Slovenia (e-mail:"],"raw_orcid":"https://orcid.org/0000-0001-7755-2303","affiliations":[{"raw_affiliation_string":"Faculty of Mathematics and Physics, University of Ljubljana, Slovenia (e-mail:","institution_ids":["https://openalex.org/I153976015"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5041763014","display_name":"Amr Hany Saleh","orcid":"https://orcid.org/0000-0002-3175-1048"},"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":"AMR HANY SALEH","raw_affiliation_strings":["Department of Computer Science, KU Leuven, Belgium (e-mails:"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Department of Computer Science, KU Leuven, Belgium (e-mails:","institution_ids":["https://openalex.org/I99464096"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5000432436","display_name":"Stien Vanderhallen","orcid":"https://orcid.org/0000-0002-4676-0000"},"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":"STIEN VANDERHALLEN","raw_affiliation_strings":["Department of Computer Science, KU Leuven, Belgium (e-mails:"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Department of Computer Science, KU Leuven, Belgium (e-mails:","institution_ids":["https://openalex.org/I99464096"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5050247934","display_name":"Tom Schrijvers","orcid":"https://orcid.org/0000-0001-8771-5559"},"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":["Department of Computer Science, KU Leuven, Belgium (e-mails:"],"raw_orcid":"https://orcid.org/0000-0001-8771-5559","affiliations":[{"raw_affiliation_string":"Department of Computer Science, KU Leuven, Belgium (e-mails:","institution_ids":["https://openalex.org/I99464096"]}]}],"institutions":[],"countries_distinct_count":2,"institutions_distinct_count":5,"corresponding_author_ids":["https://openalex.org/A5061379472"],"corresponding_institution_ids":["https://openalex.org/I99464096"],"apc_list":null,"apc_paid":null,"fwci":0.544,"has_fulltext":false,"cited_by_count":6,"citation_normalized_percentile":{"value":0.7315112,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":90,"max":96},"biblio":{"volume":"30","issue":null,"first_page":null,"last_page":null},"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/T10142","display_name":"Formal Methods in Verification","score":0.9947999715805054,"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/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9923999905586243,"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"}}],"keywords":[{"id":"https://openalex.org/keywords/subtyping","display_name":"Subtyping","score":0.8827357292175293},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8561524152755737},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.7524881362915039},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.5611873269081116},{"id":"https://openalex.org/keywords/type-inference","display_name":"Type inference","score":0.532522439956665},{"id":"https://openalex.org/keywords/haskell","display_name":"Haskell","score":0.4446130394935608},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.4254271388053894},{"id":"https://openalex.org/keywords/inference","display_name":"Inference","score":0.3998420834541321},{"id":"https://openalex.org/keywords/functional-programming","display_name":"Functional programming","score":0.3587055206298828},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.15390238165855408}],"concepts":[{"id":"https://openalex.org/C83852419","wikidata":"https://www.wikidata.org/wiki/Q2713292","display_name":"Subtyping","level":2,"score":0.8827357292175293},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8561524152755737},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.7524881362915039},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.5611873269081116},{"id":"https://openalex.org/C198370458","wikidata":"https://www.wikidata.org/wiki/Q586459","display_name":"Type inference","level":3,"score":0.532522439956665},{"id":"https://openalex.org/C2780624054","wikidata":"https://www.wikidata.org/wiki/Q34010","display_name":"Haskell","level":3,"score":0.4446130394935608},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.4254271388053894},{"id":"https://openalex.org/C2776214188","wikidata":"https://www.wikidata.org/wiki/Q408386","display_name":"Inference","level":2,"score":0.3998420834541321},{"id":"https://openalex.org/C42383842","wikidata":"https://www.wikidata.org/wiki/Q193076","display_name":"Functional programming","level":2,"score":0.3587055206298828},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.15390238165855408}],"mesh":[],"locations_count":3,"locations":[{"id":"doi:10.1017/s0956796820000131","is_oa":false,"landing_page_url":"https://doi.org/10.1017/s0956796820000131","pdf_url":null,"source":{"id":"https://openalex.org/S12266929","display_name":"Journal of Functional Programming","issn_l":"0956-7968","issn":["0956-7968","1469-7653"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310311721","host_organization_name":"Cambridge University Press","host_organization_lineage":["https://openalex.org/P4310311721","https://openalex.org/P4310311702"],"host_organization_lineage_names":["Cambridge University Press","University of Cambridge"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Journal of Functional Programming","raw_type":"journal-article"},{"id":"pmh:oai:lirias2repo.kuleuven.be:123456789/660167","is_oa":true,"landing_page_url":"https://lirias.kuleuven.be/handle/123456789/660167","pdf_url":null,"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":"acceptedVersion","is_accepted":true,"is_published":false,"raw_source_name":"Journal Of Functional Programming, vol. 30, Art.No. PII S0956796820000131","raw_type":"info:eu-repo/semantics/publishedVersion"},{"id":"pmh:oai:arXiv.org:2005.13814","is_oa":true,"landing_page_url":"http://arxiv.org/abs/2005.13814","pdf_url":"https://arxiv.org/pdf/2005.13814","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"}],"best_oa_location":{"id":"pmh:oai:lirias2repo.kuleuven.be:123456789/660167","is_oa":true,"landing_page_url":"https://lirias.kuleuven.be/handle/123456789/660167","pdf_url":null,"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":"acceptedVersion","is_accepted":true,"is_published":false,"raw_source_name":"Journal Of Functional Programming, vol. 30, Art.No. PII S0956796820000131","raw_type":"info:eu-repo/semantics/publishedVersion"},"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":48,"referenced_works":["https://openalex.org/W98108028","https://openalex.org/W159715351","https://openalex.org/W326743114","https://openalex.org/W1559945648","https://openalex.org/W1595372275","https://openalex.org/W1606211906","https://openalex.org/W1703087989","https://openalex.org/W1969093922","https://openalex.org/W1971752790","https://openalex.org/W1982230416","https://openalex.org/W2019376542","https://openalex.org/W2033348393","https://openalex.org/W2038534598","https://openalex.org/W2050801551","https://openalex.org/W2050907089","https://openalex.org/W2093036100","https://openalex.org/W2109375905","https://openalex.org/W2125690388","https://openalex.org/W2129902163","https://openalex.org/W2131067178","https://openalex.org/W2133828278","https://openalex.org/W2140647971","https://openalex.org/W2141568518","https://openalex.org/W2144778998","https://openalex.org/W2154273644","https://openalex.org/W2163976959","https://openalex.org/W2166822586","https://openalex.org/W2184230987","https://openalex.org/W2208976468","https://openalex.org/W2510703714","https://openalex.org/W2517607333","https://openalex.org/W2542880427","https://openalex.org/W2561708922","https://openalex.org/W2797487433","https://openalex.org/W2883982391","https://openalex.org/W2898972062","https://openalex.org/W2914677266","https://openalex.org/W3101155261","https://openalex.org/W3103017830","https://openalex.org/W3103594074","https://openalex.org/W4213090963","https://openalex.org/W4245292236","https://openalex.org/W4249075482","https://openalex.org/W6728699508","https://openalex.org/W6750423096","https://openalex.org/W6756367560","https://openalex.org/W6785972659","https://openalex.org/W6830820625"],"related_works":["https://openalex.org/W1886401053","https://openalex.org/W2090337950","https://openalex.org/W2046806568","https://openalex.org/W2112263414","https://openalex.org/W3004782279","https://openalex.org/W3027723509","https://openalex.org/W1550049051","https://openalex.org/W1602185604","https://openalex.org/W2095136535","https://openalex.org/W2005083846"],"abstract_inverted_index":{"Abstract":[0],"As":[1],"popularity":[2],"of":[3],"algebraic":[4,75,158],"effects":[5,159],"and":[6,127],"handlers":[7,77],"increases,":[8],"so":[9],"does":[10],"a":[11,27,79,110,134,147,154],"demand":[12],"for":[13,24,46,74],"their":[14],"efficient":[15],"execution.":[16],"Eff,":[17],"an":[18,33,68,116],"ML-like":[19],"language":[20,54,120,156],"with":[21,78,91,109],"native":[22],"support":[23],"handlers,":[25,161],"has":[26],"subtyping-based":[28,80],"effect":[29,76,128,164],"system":[30],"on":[31],"which":[32],"effect-aware":[34],"optimising":[35],"compiler":[36],"could":[37],"be":[38,131],"built.":[39],"Unfortunately,":[40],"in":[41,88,102,133],"our":[42,122,151],"experience,":[43],"implementing":[44],"optimisations":[45],"Eff":[47],"is":[48,55],"overly":[49],"error-prone":[50],"because":[51],"its":[52],"core":[53,72],"implicitly":[56,117],"typed,":[57],"making":[58],"code":[59],"transformations":[60],"very":[61],"fragile.":[62],"To":[63],"remedy":[64],"this,":[65],"we":[66,145],"present":[67,146],"explicitly":[69],"typed":[70,118],"polymorphic":[71],"calculus":[73,152],"type-and-effect":[81],"system.":[82],"It":[83],"reifies":[84],"appeals":[85],"to":[86,166],"subtyping":[87,96],"explicit":[89],"casts":[90],"coercions":[92,126,139],"that":[93,114,138],"witness":[94],"the":[95,163],"proof,":[97],"quickly":[98],"exposing":[99],"typing":[100],"bugs":[101],"program":[103],"transformations.":[104],"Our":[105],"typing-directed":[106],"elaboration":[107],"comes":[108],"constraint-based":[111],"inference":[112],"algorithm":[113],"turns":[115],"Eff-like":[119],"into":[121,153],"calculus.":[123],"Moreover,":[124],"all":[125],"information":[129,165],"can":[130],"erased":[132],"straightforward":[135],"way,":[136],"demonstrating":[137],"have":[140],"no":[141],"computational":[142],"content.":[143],"Additionally,":[144],"monadic":[148,168],"translation":[149],"from":[150],"pure":[155],"without":[157],"or":[160],"using":[162],"introduce":[167],"constructs":[169],"only":[170],"where":[171],"necessary.":[172]},"counts_by_year":[{"year":2025,"cited_by_count":1},{"year":2024,"cited_by_count":1},{"year":2022,"cited_by_count":2},{"year":2021,"cited_by_count":2}],"updated_date":"2026-05-21T06:26:12.895304","created_date":"2025-10-10T00:00:00"}
