{"id":"https://openalex.org/W7119509596","doi":"https://doi.org/10.1145/3776676","title":"A Relational Separation Logic for Effect Handlers","display_name":"A Relational Separation Logic for Effect Handlers","publication_year":2026,"publication_date":"2026-01-08","ids":{"openalex":"https://openalex.org/W7119509596","doi":"https://doi.org/10.1145/3776676"},"language":"en","primary_location":{"id":"doi:10.1145/3776676","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3776676","pdf_url":null,"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":null,"license_id":null,"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://doi.org/10.1145/3776676","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5004707989","display_name":"Paulo Em\u00edlio de Vilhena","orcid":"https://orcid.org/0000-0001-7379-310X"},"institutions":[{"id":"https://openalex.org/I47508984","display_name":"Imperial College London","ror":"https://ror.org/041kmwe10","country_code":"GB","type":"education","lineage":["https://openalex.org/I47508984"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"Paulo Em\u00edlio de Vilhena","raw_affiliation_strings":["Imperial College London, London, United Kingdom"],"raw_orcid":"https://orcid.org/0000-0001-7379-310X","affiliations":[{"raw_affiliation_string":"Imperial College London, London, United Kingdom","institution_ids":["https://openalex.org/I47508984"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5119758781","display_name":"Simcha van Collem","orcid":null},"institutions":[{"id":"https://openalex.org/I145872427","display_name":"Radboud University Nijmegen","ror":"https://ror.org/016xsfp80","country_code":"NL","type":"education","lineage":["https://openalex.org/I145872427"]}],"countries":["NL"],"is_corresponding":false,"raw_author_name":"Simcha van Collem","raw_affiliation_strings":["Radboud University Nijmegen, Nijmegen, Netherlands"],"raw_orcid":"https://orcid.org/0009-0004-9621-1415","affiliations":[{"raw_affiliation_string":"Radboud University Nijmegen, Nijmegen, Netherlands","institution_ids":["https://openalex.org/I145872427"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5122361950","display_name":"Ines Wright","orcid":null},"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":"Ines Wright","raw_affiliation_strings":["Aarhus University, Aarhus, Denmark"],"raw_orcid":"https://orcid.org/0009-0006-8985-6156","affiliations":[{"raw_affiliation_string":"Aarhus University, Aarhus, Denmark","institution_ids":["https://openalex.org/I204337017"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5029418370","display_name":"Robbert Krebbers","orcid":"https://orcid.org/0000-0002-1185-5237"},"institutions":[{"id":"https://openalex.org/I145872427","display_name":"Radboud University Nijmegen","ror":"https://ror.org/016xsfp80","country_code":"NL","type":"education","lineage":["https://openalex.org/I145872427"]}],"countries":["NL"],"is_corresponding":false,"raw_author_name":"Robbert Krebbers","raw_affiliation_strings":["Radboud University Nijmegen, Nijmegen, Netherlands"],"raw_orcid":"https://orcid.org/0000-0002-1185-5237","affiliations":[{"raw_affiliation_string":"Radboud University Nijmegen, Nijmegen, Netherlands","institution_ids":["https://openalex.org/I145872427"]}]}],"institutions":[],"countries_distinct_count":3,"institutions_distinct_count":4,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":39.1126,"has_fulltext":true,"cited_by_count":3,"citation_normalized_percentile":{"value":0.99300752,"is_in_top_1_percent":true,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":91,"max":99},"biblio":{"volume":"10","issue":"POPL","first_page":"981","last_page":"1009"},"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.7925000190734863,"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.7925000190734863,"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.0723000019788742,"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/T10639","display_name":"Advanced Software Engineering Methodologies","score":0.03819999843835831,"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/separation-logic","display_name":"Separation logic","score":0.8210999965667725},{"id":"https://openalex.org/keywords/concurrency","display_name":"Concurrency","score":0.54339998960495},{"id":"https://openalex.org/keywords/implementation","display_name":"Implementation","score":0.4490000009536743},{"id":"https://openalex.org/keywords/modular-design","display_name":"Modular design","score":0.44190001487731934},{"id":"https://openalex.org/keywords/stateful-firewall","display_name":"Stateful firewall","score":0.4147000014781952},{"id":"https://openalex.org/keywords/frame","display_name":"Frame (networking)","score":0.4025000035762787},{"id":"https://openalex.org/keywords/phrase","display_name":"Phrase","score":0.3544999957084656},{"id":"https://openalex.org/keywords/simple","display_name":"Simple (philosophy)","score":0.3368000090122223}],"concepts":[{"id":"https://openalex.org/C173856430","wikidata":"https://www.wikidata.org/wiki/Q3257964","display_name":"Separation logic","level":2,"score":0.8210999965667725},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.751800000667572},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.6854000091552734},{"id":"https://openalex.org/C193702766","wikidata":"https://www.wikidata.org/wiki/Q1414548","display_name":"Concurrency","level":2,"score":0.54339998960495},{"id":"https://openalex.org/C26713055","wikidata":"https://www.wikidata.org/wiki/Q245962","display_name":"Implementation","level":2,"score":0.4490000009536743},{"id":"https://openalex.org/C101468663","wikidata":"https://www.wikidata.org/wiki/Q1620158","display_name":"Modular design","level":2,"score":0.44190001487731934},{"id":"https://openalex.org/C22927095","wikidata":"https://www.wikidata.org/wiki/Q1784206","display_name":"Stateful firewall","level":3,"score":0.4147000014781952},{"id":"https://openalex.org/C126042441","wikidata":"https://www.wikidata.org/wiki/Q1324888","display_name":"Frame (networking)","level":2,"score":0.4025000035762787},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.3734000027179718},{"id":"https://openalex.org/C2776224158","wikidata":"https://www.wikidata.org/wiki/Q187931","display_name":"Phrase","level":2,"score":0.3544999957084656},{"id":"https://openalex.org/C2780586882","wikidata":"https://www.wikidata.org/wiki/Q7520643","display_name":"Simple (philosophy)","level":2,"score":0.3368000090122223},{"id":"https://openalex.org/C75291252","wikidata":"https://www.wikidata.org/wiki/Q1315756","display_name":"TRACE (psycholinguistics)","level":2,"score":0.33570000529289246},{"id":"https://openalex.org/C48103436","wikidata":"https://www.wikidata.org/wiki/Q599031","display_name":"State (computer science)","level":2,"score":0.3253999948501587},{"id":"https://openalex.org/C128838566","wikidata":"https://www.wikidata.org/wiki/Q275603","display_name":"Logic programming","level":2,"score":0.3208000063896179},{"id":"https://openalex.org/C160191386","wikidata":"https://www.wikidata.org/wiki/Q868299","display_name":"Control flow","level":2,"score":0.3190999925136566},{"id":"https://openalex.org/C76214141","wikidata":"https://www.wikidata.org/wiki/Q2465506","display_name":"Separation of concerns","level":3,"score":0.305400013923645},{"id":"https://openalex.org/C195344581","wikidata":"https://www.wikidata.org/wiki/Q2555318","display_name":"Automated reasoning","level":2,"score":0.3052999973297119},{"id":"https://openalex.org/C88482812","wikidata":"https://www.wikidata.org/wiki/Q6453666","display_name":"Modular programming","level":2,"score":0.29350000619888306},{"id":"https://openalex.org/C138268822","wikidata":"https://www.wikidata.org/wiki/Q1051925","display_name":"Resolution (logic)","level":2,"score":0.2919999957084656},{"id":"https://openalex.org/C71008984","wikidata":"https://www.wikidata.org/wiki/Q2890076","display_name":"Rigour","level":2,"score":0.26750001311302185},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.2574000060558319},{"id":"https://openalex.org/C45357846","wikidata":"https://www.wikidata.org/wiki/Q2001982","display_name":"Notation","level":2,"score":0.2542000114917755}],"mesh":[],"locations_count":3,"locations":[{"id":"doi:10.1145/3776676","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3776676","pdf_url":null,"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":null,"license_id":null,"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:openaire/46bae2b1-d575-4066-8bb6-9deff848da0c","is_oa":true,"landing_page_url":"https://pure.au.dk/portal/en/publications/46bae2b1-d575-4066-8bb6-9deff848da0c","pdf_url":null,"source":null,"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"De Vilhena, P E, Van Collem, S, Wright, I & Krebbers, R 2026, 'A Relational Separation Logic for Effect Handlers', Proceedings of the ACM on Programming Languages , vol. 10, no. POPL, 34, pp. 981-1009. https://doi.org/10.1145/3776676","raw_type":"info:eu-repo/semantics/publishedVersion"},{"id":"pmh:oai:repository.ubn.ru.nl:2066/327715","is_oa":true,"landing_page_url":"https://hdl.handle.net/2066/327715","pdf_url":"https://repository.ubn.ru.nl//bitstream/handle/2066/327715/327715.pdf","source":{"id":"https://openalex.org/S4306401067","display_name":"Radboud Repository (Radboud University)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I145872427","host_organization_name":"Radboud University Nijmegen","host_organization_lineage":["https://openalex.org/I145872427"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"","raw_type":"Article / Letter to editor"}],"best_oa_location":{"id":"doi:10.1145/3776676","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3776676","pdf_url":null,"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":null,"license_id":null,"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.6585021615028381,"display_name":"Peace, Justice and strong institutions","id":"https://metadata.un.org/sdg/16"}],"awards":[{"id":"https://openalex.org/G3846405987","display_name":"Cyclic Structures in Programs and Proofs: New Harmonies in Software Correctness by Construction","funder_award_id":"OCENW.XL.23.089","funder_id":"https://openalex.org/F4320321800","funder_display_name":"Nederlandse Organisatie voor Wetenschappelijk Onderzoek"},{"id":"https://openalex.org/G4734733957","display_name":"Developing Correct Concurrent Software Using Types","funder_award_id":"101171349","funder_id":"https://openalex.org/F4320320300","funder_display_name":"European Commission"},{"id":"https://openalex.org/G5002861355","display_name":null,"funder_award_id":"MR/V024299/1","funder_id":"https://openalex.org/F4320314731","funder_display_name":"UK Research and Innovation"}],"funders":[{"id":"https://openalex.org/F4320314731","display_name":"UK Research and Innovation","ror":"https://ror.org/001aqnf71"},{"id":"https://openalex.org/F4320320300","display_name":"European Commission","ror":"https://ror.org/00k4n6c32"},{"id":"https://openalex.org/F4320321800","display_name":"Nederlandse Organisatie voor Wetenschappelijk Onderzoek","ror":"https://ror.org/04jsz6e67"}],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":52,"referenced_works":["https://openalex.org/W1495368328","https://openalex.org/W1830421783","https://openalex.org/W2028861803","https://openalex.org/W2073001576","https://openalex.org/W2099741881","https://openalex.org/W2109375905","https://openalex.org/W2129902163","https://openalex.org/W2132181573","https://openalex.org/W2136327713","https://openalex.org/W2137628566","https://openalex.org/W2139533136","https://openalex.org/W2147323041","https://openalex.org/W2164719159","https://openalex.org/W2170114248","https://openalex.org/W2184230987","https://openalex.org/W2208976468","https://openalex.org/W2295885203","https://openalex.org/W2410807300","https://openalex.org/W2509578035","https://openalex.org/W2510703714","https://openalex.org/W2562833768","https://openalex.org/W2596377803","https://openalex.org/W2777452194","https://openalex.org/W2798618564","https://openalex.org/W2798644064","https://openalex.org/W2885030506","https://openalex.org/W2899650865","https://openalex.org/W2900081643","https://openalex.org/W2901454403","https://openalex.org/W2949330042","https://openalex.org/W2949578585","https://openalex.org/W2952042032","https://openalex.org/W2966434214","https://openalex.org/W2989806547","https://openalex.org/W2995698344","https://openalex.org/W3014236027","https://openalex.org/W3037762203","https://openalex.org/W3084371895","https://openalex.org/W3113533517","https://openalex.org/W3124113140","https://openalex.org/W4205191607","https://openalex.org/W4206600087","https://openalex.org/W4229652664","https://openalex.org/W4239690658","https://openalex.org/W4245729501","https://openalex.org/W4293812585","https://openalex.org/W4310889358","https://openalex.org/W4384811769","https://openalex.org/W4405030530","https://openalex.org/W4406222234","https://openalex.org/W4409311646","https://openalex.org/W7082657207"],"related_works":[],"abstract_inverted_index":{"Effect":[0],"handlers":[1,27,48,174,184],"offer":[2],"a":[3,11,100,109,194,240,260,263],"powerful":[4],"and":[5,39,54,62,103,123,142,156,173,183,226,262],"relatively":[6],"simple":[7],"mechanism":[8],"for":[9,25,78,230],"controlling":[10],"program's":[12],"flow":[13],"of":[14,22,86,90,99,108,196,206,238],"execution.":[15],"Since":[16],"their":[17],"introduction,":[18],"an":[19,207,249],"impressive":[20],"array":[21],"verification":[23],"tools":[24],"effect":[26,47,79],"has":[28],"been":[29,257],"developed.":[30],"However,":[31],"to":[32,126,133,149,214,246,269],"this":[33,68,190],"day,":[34],"no":[35],"framework":[36],"can":[37],"express":[38],"prove":[40],"relational":[41,75,232],"properties":[42,107],"about":[43,119,152,248,271],"programs":[44,122,153,164],"that":[45,154,162,171,235,243,266],"use":[46],"in":[49,179],"languages":[50],"such":[51,115,137],"as":[52,116,138,253,259],"OCaml":[53],"Links,":[55],"where":[56],"programming":[57],"features":[58],"like":[59],"mutable":[60],"state":[61],"concurrency":[63],"are":[64,165,212,236,274],"readily":[65],"available.":[66],"To":[67,188],"end,":[69],"we":[70,192,201,221],"introduce":[71,127,222],"blaze,":[72],"the":[73,87,91,97,105,124,139,143,186],"first":[74],"separation":[76,93,113,233],"logic":[77,234],"handlers.":[80],"We":[81],"build":[82],"blaze":[83,146,167],"on":[84],"top":[85],"Rocq":[88],"implementation":[89],"Iris":[92],"logic,":[94,114],"thereby":[95],"enjoying":[96],"rigour":[98],"mechanised":[101],"theory":[102],"all":[104],"reasoning":[106,118,135,228],"modern":[110],"fully-fledged":[111],"concurrent":[112,121,216,231],"modular":[117],"stateful":[120],"ability":[125],"user-defined":[128],"ghost":[129],"state.":[130],"In":[131],"addition":[132],"familiar":[134],"rules,":[136],"bind":[140],"rule":[141,242,265],"frame":[144],"rule,":[145],"offers":[147],"rules":[148,229],"reason":[150,247,270],"modularly":[151],"perform":[155],"handle":[157],"effects.":[158],"Significantly,":[159],"when":[160],"verifying":[161],"two":[163,223],"related,":[166],"does":[168],"not":[169],"require":[170],"effects":[172,182,211],"from":[175,185],"one":[176,245,268],"program":[177,251],"be":[178],"correspondence":[180],"with":[181],"other.":[187],"assess":[189],"flexibility,":[191],"conduct":[193],"number":[195],"case":[197],"studies:":[198],"most":[199],"noticeably,":[200],"show":[202],"how":[203,272],"different":[204],"implementations":[205],"asynchronous-programming":[208],"library":[209],"using":[210],"related":[213],"truly":[215],"implementations.":[217],"As":[218],"side":[219],"contributions,":[220],"new,":[224],"simple,":[225],"general":[227],"independent":[237],"effects:":[239],"logical-fork":[241],"allows":[244,267],"arbitrary":[250],"phrase":[252],"if":[254],"it":[255],"had":[256],"spawned":[258],"thread":[261],"thread-swap":[264],"threads":[273],"scheduled.":[275]},"counts_by_year":[{"year":2026,"cited_by_count":2},{"year":2025,"cited_by_count":1}],"updated_date":"2026-06-11T09:08:48.828518","created_date":"2026-01-09T00:00:00"}
