{"id":"https://openalex.org/W4386317475","doi":"https://doi.org/10.1145/3607846","title":"With or Without You: Programming with Effect Exclusion","display_name":"With or Without You: Programming with Effect Exclusion","publication_year":2023,"publication_date":"2023-08-30","ids":{"openalex":"https://openalex.org/W4386317475","doi":"https://doi.org/10.1145/3607846"},"language":"en","primary_location":{"id":"doi:10.1145/3607846","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3607846","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3607846","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":["crossref"],"open_access":{"is_oa":true,"oa_status":"diamond","oa_url":"https://dl.acm.org/doi/pdf/10.1145/3607846","any_repository_has_fulltext":null},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5017654779","display_name":"Matthew Lutze","orcid":"https://orcid.org/0000-0002-2904-5099"},"institutions":[{"id":"https://openalex.org/I204337017","display_name":"Aarhus University","ror":"https://ror.org/01aj84f44","country_code":"DK","type":"education","lineage":["https://openalex.org/I204337017"]}],"countries":["DK"],"is_corresponding":false,"raw_author_name":"Matthew Lutze","raw_affiliation_strings":["Aarhus University, Denmark"],"raw_orcid":"https://orcid.org/0000-0002-2904-5099","affiliations":[{"raw_affiliation_string":"Aarhus University, Denmark","institution_ids":["https://openalex.org/I204337017"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5034330109","display_name":"Magnus Madsen","orcid":"https://orcid.org/0000-0002-7510-8724"},"institutions":[{"id":"https://openalex.org/I204337017","display_name":"Aarhus University","ror":"https://ror.org/01aj84f44","country_code":"DK","type":"education","lineage":["https://openalex.org/I204337017"]}],"countries":["DK"],"is_corresponding":false,"raw_author_name":"Magnus Madsen","raw_affiliation_strings":["Aarhus University, Denmark"],"raw_orcid":"https://orcid.org/0000-0002-7510-8724","affiliations":[{"raw_affiliation_string":"Aarhus University, Denmark","institution_ids":["https://openalex.org/I204337017"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5029318181","display_name":"Philipp Schuster","orcid":"https://orcid.org/0000-0001-8011-0506"},"institutions":[{"id":"https://openalex.org/I8087733","display_name":"University of T\u00fcbingen","ror":"https://ror.org/03a1kwz48","country_code":"DE","type":"education","lineage":["https://openalex.org/I8087733"]}],"countries":["DE"],"is_corresponding":false,"raw_author_name":"Philipp Schuster","raw_affiliation_strings":["University of T\u00fcbingen, Germany"],"raw_orcid":"https://orcid.org/0000-0001-8011-0506","affiliations":[{"raw_affiliation_string":"University of T\u00fcbingen, Germany","institution_ids":["https://openalex.org/I8087733"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5027088540","display_name":"Jonathan Immanuel Brachth\u00e4user","orcid":"https://orcid.org/0000-0001-9128-0391"},"institutions":[{"id":"https://openalex.org/I8087733","display_name":"University of T\u00fcbingen","ror":"https://ror.org/03a1kwz48","country_code":"DE","type":"education","lineage":["https://openalex.org/I8087733"]}],"countries":["DE"],"is_corresponding":false,"raw_author_name":"Jonathan Immanuel Brachth\u00e4user","raw_affiliation_strings":["University of T\u00fcbingen, Germany"],"raw_orcid":"https://orcid.org/0000-0001-9128-0391","affiliations":[{"raw_affiliation_string":"University of T\u00fcbingen, Germany","institution_ids":["https://openalex.org/I8087733"]}]}],"institutions":[],"countries_distinct_count":2,"institutions_distinct_count":2,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":1.5694,"has_fulltext":true,"cited_by_count":12,"citation_normalized_percentile":{"value":0.86098872,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":94,"max":98},"biblio":{"volume":"7","issue":"ICFP","first_page":"448","last_page":"475"},"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.9997000098228455,"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.9997000098228455,"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/T11424","display_name":"Security and Verification in Computing","score":0.9976999759674072,"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.9932000041007996,"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/type-inference","display_name":"Type inference","score":0.656938374042511},{"id":"https://openalex.org/keywords/soundness","display_name":"Soundness","score":0.5883471369743347},{"id":"https://openalex.org/keywords/modulo","display_name":"Modulo","score":0.5786111950874329},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.5358404517173767},{"id":"https://openalex.org/keywords/correctness","display_name":"Correctness","score":0.5297936797142029},{"id":"https://openalex.org/keywords/unification","display_name":"Unification","score":0.4841811954975128},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.4694993495941162},{"id":"https://openalex.org/keywords/conservative-extension","display_name":"Conservative extension","score":0.44642001390457153},{"id":"https://openalex.org/keywords/inference","display_name":"Inference","score":0.43151214718818665},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.4080185294151306},{"id":"https://openalex.org/keywords/algebra-over-a-field","display_name":"Algebra over a field","score":0.36619699001312256},{"id":"https://openalex.org/keywords/discrete-mathematics","display_name":"Discrete mathematics","score":0.32883352041244507},{"id":"https://openalex.org/keywords/mathematics","display_name":"Mathematics","score":0.3275498151779175},{"id":"https://openalex.org/keywords/pure-mathematics","display_name":"Pure mathematics","score":0.2062947154045105},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.13859856128692627}],"concepts":[{"id":"https://openalex.org/C198370458","wikidata":"https://www.wikidata.org/wiki/Q586459","display_name":"Type inference","level":3,"score":0.656938374042511},{"id":"https://openalex.org/C39920170","wikidata":"https://www.wikidata.org/wiki/Q693083","display_name":"Soundness","level":2,"score":0.5883471369743347},{"id":"https://openalex.org/C54732982","wikidata":"https://www.wikidata.org/wiki/Q1415345","display_name":"Modulo","level":2,"score":0.5786111950874329},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.5358404517173767},{"id":"https://openalex.org/C55439883","wikidata":"https://www.wikidata.org/wiki/Q360812","display_name":"Correctness","level":2,"score":0.5297936797142029},{"id":"https://openalex.org/C96146094","wikidata":"https://www.wikidata.org/wiki/Q609057","display_name":"Unification","level":2,"score":0.4841811954975128},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.4694993495941162},{"id":"https://openalex.org/C2780432614","wikidata":"https://www.wikidata.org/wiki/Q864213","display_name":"Conservative extension","level":2,"score":0.44642001390457153},{"id":"https://openalex.org/C2776214188","wikidata":"https://www.wikidata.org/wiki/Q408386","display_name":"Inference","level":2,"score":0.43151214718818665},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.4080185294151306},{"id":"https://openalex.org/C136119220","wikidata":"https://www.wikidata.org/wiki/Q1000660","display_name":"Algebra over a field","level":2,"score":0.36619699001312256},{"id":"https://openalex.org/C118615104","wikidata":"https://www.wikidata.org/wiki/Q121416","display_name":"Discrete mathematics","level":1,"score":0.32883352041244507},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.3275498151779175},{"id":"https://openalex.org/C202444582","wikidata":"https://www.wikidata.org/wiki/Q837863","display_name":"Pure mathematics","level":1,"score":0.2062947154045105},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.13859856128692627}],"mesh":[],"locations_count":3,"locations":[{"id":"doi:10.1145/3607846","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3607846","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3607846","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:pure.atira.dk:publications/afb5a3f0-abdc-4400-a2ef-a69d5061098f","is_oa":true,"landing_page_url":"https://pure.au.dk/portal/en/publications/afb5a3f0-abdc-4400-a2ef-a69d5061098f","pdf_url":"https://pure.au.dk/ws/files/417147060/3607846.pdf","source":null,"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"Lutze, M, Madsen, M, Schuster, P & Brachth\u00e4user, J I 2023, 'With or Without You : Programming with Effect Exclusion', Proceedings of the ACM on Programming Languages , vol. 7, no. ICFP, pp. 448-475. https://doi.org/10.1145/3607846","raw_type":"info:eu-repo/semantics/article"},{"id":"pmh:oai:pure.atira.dk:openaire/afb5a3f0-abdc-4400-a2ef-a69d5061098f","is_oa":true,"landing_page_url":"https://pure.au.dk/portal/files/417147060/3607846.pdf","pdf_url":null,"source":null,"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"Lutze, M, Madsen, M, Schuster, P & Brachth\u00e4user, J I 2023, 'With or Without You : Programming with Effect Exclusion', Proceedings of the ACM on Programming Languages , vol. 7, no. ICFP, pp. 448-475. https://doi.org/10.1145/3607846","raw_type":"info:eu-repo/semantics/article"}],"best_oa_location":{"id":"doi:10.1145/3607846","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3607846","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3607846","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":[{"score":0.7699999809265137,"display_name":"Reduced inequalities","id":"https://metadata.un.org/sdg/10"}],"awards":[{"id":"https://openalex.org/G164959206","display_name":"Effiziente \u00dcbersetzung von Kontrolleffekten","funder_award_id":"448316946","funder_id":"https://openalex.org/F4320320879","funder_display_name":"Deutsche Forschungsgemeinschaft"},{"id":"https://openalex.org/G7179612465","display_name":null,"funder_award_id":"DFG-448316946","funder_id":"https://openalex.org/F4320320879","funder_display_name":"Deutsche Forschungsgemeinschaft"}],"funders":[{"id":"https://openalex.org/F4320320879","display_name":"Deutsche Forschungsgemeinschaft","ror":"https://ror.org/018mejw64"}],"has_content":{"grobid_xml":true,"pdf":true},"content_urls":{"pdf":"https://content.openalex.org/works/W4386317475.pdf","grobid_xml":"https://content.openalex.org/works/W4386317475.grobid-xml"},"referenced_works_count":34,"referenced_works":["https://openalex.org/W1558848517","https://openalex.org/W1644882639","https://openalex.org/W1971906578","https://openalex.org/W1980939032","https://openalex.org/W1981232804","https://openalex.org/W1986473353","https://openalex.org/W1986585422","https://openalex.org/W2002829132","https://openalex.org/W2007435074","https://openalex.org/W2016696108","https://openalex.org/W2046137117","https://openalex.org/W2052822938","https://openalex.org/W2072162091","https://openalex.org/W2082569732","https://openalex.org/W2087875803","https://openalex.org/W2104152314","https://openalex.org/W2121408440","https://openalex.org/W2129533663","https://openalex.org/W2166822586","https://openalex.org/W2184230987","https://openalex.org/W2404735976","https://openalex.org/W2510703714","https://openalex.org/W2561708922","https://openalex.org/W3015096137","https://openalex.org/W3101745982","https://openalex.org/W3103594074","https://openalex.org/W3107145433","https://openalex.org/W3108199096","https://openalex.org/W3205634919","https://openalex.org/W4210667464","https://openalex.org/W4225138414","https://openalex.org/W4232769257","https://openalex.org/W4249075482","https://openalex.org/W6948077401"],"related_works":["https://openalex.org/W2294370068","https://openalex.org/W4237113426","https://openalex.org/W2494122154","https://openalex.org/W2635079440","https://openalex.org/W2057943413","https://openalex.org/W1579499855","https://openalex.org/W2953724743","https://openalex.org/W2130764601","https://openalex.org/W4288300682","https://openalex.org/W2979240527"],"abstract_inverted_index":{"Type":[0],"and":[1,22,25,76,87,136,148,174,191,212,250],"effect":[2,57,77,80,91,97,104,137,146,175,199,204,213,238,251],"systems":[3,42],"have":[4],"been":[5],"successfully":[6],"used":[7],"to":[8,63,95,126],"statically":[9],"reason":[10,128],"about":[11,47,129],"effects":[12,24,111],"in":[13,33,114,181],"many":[14],"different":[15],"domains,":[16],"including":[17],"region-based":[18],"memory":[19],"management,":[20],"exceptions,":[21],"algebraic":[23],"handlers.":[26],"Such":[27],"systems\u2019":[28],"soundness":[29],"is":[30,53,205],"often":[31],"stated":[32],"terms":[34],"of":[35,38,50,69,103,132,160,169,218,228,246,261],"the":[36,48,124,130,141,167,182,188,210,219,244,247],"absence":[37,49,131],"effects.":[39,51,70,89,133],"Yet,":[40],"existing":[41],"only":[43],"admit":[44],"indirect":[45],"reasoning":[46],"This":[52,118],"further":[54],"complicated":[55],"by":[56],"polymorphism":[58,81],"which":[59],"allows":[60,93],"function":[61],"signatures":[62],"abstract":[64],"over":[65],"arbitrary,":[66],"unknown":[67],"sets":[68,170],"We":[71,177,186,208,223],"present":[72],"a":[73,100,115,157,197,225],"new":[74,101],"type":[75,135,143,173,211,249],"system":[78,92,138,214],"with":[79,123,163],"as":[82,84,99,194,196,215],"well":[83,195],"union,":[85],"intersection,":[86],"complement":[88],"The":[90],"us":[94],"express":[96],"exclusion":[98,239],"class":[102],"polymorphic":[105],"functions:":[106],"those":[107,113],"that":[108,236],"permit":[109],"any":[110],"except":[112],"specific":[116],"set.":[117],"way,":[119],"we":[120,253],"equip":[121],"programmers":[122],"means":[125],"directly":[127],"Our":[134],"builds":[139],"on":[140,166],"Hindley-Milner":[142],"system,":[144,252],"supports":[145],"polymorphism,":[147],"preserves":[149],"principal":[150],"types":[151],"modulo":[152],"Boolean":[153,164],"equivalence.":[154],"In":[155],"addition,":[156],"suitable":[158],"extension":[159,217,260],"Algorithm":[161],"W":[162],"unification":[165],"algebra":[168],"enables":[171],"complete":[172],"inference.":[176],"formalize":[178],"these":[179,255],"notions":[180],"\u03bb":[183],"\u2201":[184],"calculus.":[185],"prove":[187],"standard":[189],"progress":[190],"preservation":[192],"theorems":[193],"non-standard":[198],"safety":[200],"theorem:":[201],"no":[202],"excluded":[203],"ever":[206],"performed.":[207],"implement":[209],"an":[216],"Flix":[220],"programming":[221],"language.":[222],"conduct":[224],"case":[226],"study":[227],"open":[229],"source":[230],"projects":[231],"identifying":[232],"59":[233],"program":[234,256],"fragments":[235,257],"require":[237],"for":[240],"correctness.":[241],"To":[242],"demonstrate":[243],"usefulness":[245],"proposed":[248],"recast":[254],"into":[258],"our":[259],"Flix.":[262]},"counts_by_year":[{"year":2026,"cited_by_count":2},{"year":2025,"cited_by_count":5},{"year":2024,"cited_by_count":3},{"year":2023,"cited_by_count":2}],"updated_date":"2026-08-01T09:00:35.917206","created_date":"2025-10-10T00:00:00"}
