{"id":"https://openalex.org/W4414977421","doi":"https://doi.org/10.1145/3763177","title":"Zero-Overhead Lexical Effect Handlers","display_name":"Zero-Overhead Lexical Effect Handlers","publication_year":2025,"publication_date":"2025-10-09","ids":{"openalex":"https://openalex.org/W4414977421","doi":"https://doi.org/10.1145/3763177"},"language":"en","primary_location":{"id":"doi:10.1145/3763177","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3763177","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":"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://doi.org/10.1145/3763177","any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5102731403","display_name":"Cong Ma","orcid":"https://orcid.org/0009-0005-0842-4697"},"institutions":[{"id":"https://openalex.org/I151746483","display_name":"University of Waterloo","ror":"https://ror.org/01aff2v68","country_code":"CA","type":"education","lineage":["https://openalex.org/I151746483"]}],"countries":["CA"],"is_corresponding":true,"raw_author_name":"Cong Ma","raw_affiliation_strings":["University of Waterloo, Waterloo, Canada"],"raw_orcid":"https://orcid.org/0009-0005-0842-4697","affiliations":[{"raw_affiliation_string":"University of Waterloo, Waterloo, Canada","institution_ids":["https://openalex.org/I151746483"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5114242250","display_name":"Zhaoyi Ge","orcid":null},"institutions":[{"id":"https://openalex.org/I151746483","display_name":"University of Waterloo","ror":"https://ror.org/01aff2v68","country_code":"CA","type":"education","lineage":["https://openalex.org/I151746483"]}],"countries":["CA"],"is_corresponding":false,"raw_author_name":"Zhaoyi Ge","raw_affiliation_strings":["University of Waterloo, Waterloo, Canada"],"raw_orcid":"https://orcid.org/0009-0008-0100-0201","affiliations":[{"raw_affiliation_string":"University of Waterloo, Waterloo, Canada","institution_ids":["https://openalex.org/I151746483"]}]},{"author_position":"middle","author":{"id":null,"display_name":"Max Jung","orcid":"https://orcid.org/0009-0000-4627-5403"},"institutions":[{"id":"https://openalex.org/I151746483","display_name":"University of Waterloo","ror":"https://ror.org/01aff2v68","country_code":"CA","type":"education","lineage":["https://openalex.org/I151746483"]}],"countries":["CA"],"is_corresponding":false,"raw_author_name":"Max Jung","raw_affiliation_strings":["University of Waterloo, Waterloo, Canada"],"raw_orcid":"https://orcid.org/0009-0000-4627-5403","affiliations":[{"raw_affiliation_string":"University of Waterloo, Waterloo, Canada","institution_ids":["https://openalex.org/I151746483"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5100643391","display_name":"Yizhou Zhang","orcid":"https://orcid.org/0000-0002-8206-4694"},"institutions":[{"id":"https://openalex.org/I151746483","display_name":"University of Waterloo","ror":"https://ror.org/01aff2v68","country_code":"CA","type":"education","lineage":["https://openalex.org/I151746483"]}],"countries":["CA"],"is_corresponding":false,"raw_author_name":"Yizhou Zhang","raw_affiliation_strings":["University of Waterloo, Waterloo, Canada"],"raw_orcid":"https://orcid.org/0000-0002-8206-4694","affiliations":[{"raw_affiliation_string":"University of Waterloo, Waterloo, Canada","institution_ids":["https://openalex.org/I151746483"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":4,"corresponding_author_ids":["https://openalex.org/A5102731403"],"corresponding_institution_ids":["https://openalex.org/I151746483"],"apc_list":null,"apc_paid":null,"fwci":1.9269,"has_fulltext":false,"cited_by_count":1,"citation_normalized_percentile":{"value":0.89709045,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":91,"max":95},"biblio":{"volume":"9","issue":"OOPSLA2","first_page":"3533","last_page":"3559"},"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.9994000196456909,"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.9994000196456909,"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.9927999973297119,"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"}},{"id":"https://openalex.org/T10181","display_name":"Natural Language Processing Techniques","score":0.9908000230789185,"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/compiler","display_name":"Compiler","score":0.7143999934196472},{"id":"https://openalex.org/keywords/implementation","display_name":"Implementation","score":0.6654000282287598},{"id":"https://openalex.org/keywords/modularity","display_name":"Modularity (biology)","score":0.546999990940094},{"id":"https://openalex.org/keywords/repressor-lexa","display_name":"Repressor lexA","score":0.5361999869346619},{"id":"https://openalex.org/keywords/identifier","display_name":"Identifier","score":0.4440999925136566},{"id":"https://openalex.org/keywords/correctness","display_name":"Correctness","score":0.44130000472068787},{"id":"https://openalex.org/keywords/allocator","display_name":"Allocator","score":0.4291999936103821},{"id":"https://openalex.org/keywords/control","display_name":"Control (management)","score":0.4189999997615814},{"id":"https://openalex.org/keywords/key","display_name":"Key (lock)","score":0.4068000018596649}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8382999897003174},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.7143999934196472},{"id":"https://openalex.org/C26713055","wikidata":"https://www.wikidata.org/wiki/Q245962","display_name":"Implementation","level":2,"score":0.6654000282287598},{"id":"https://openalex.org/C2779478453","wikidata":"https://www.wikidata.org/wiki/Q6889748","display_name":"Modularity (biology)","level":2,"score":0.546999990940094},{"id":"https://openalex.org/C413212","wikidata":"https://www.wikidata.org/wiki/Q7314274","display_name":"Repressor lexA","level":5,"score":0.5361999869346619},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.5317999720573425},{"id":"https://openalex.org/C154504017","wikidata":"https://www.wikidata.org/wiki/Q853614","display_name":"Identifier","level":2,"score":0.4440999925136566},{"id":"https://openalex.org/C55439883","wikidata":"https://www.wikidata.org/wiki/Q360812","display_name":"Correctness","level":2,"score":0.44130000472068787},{"id":"https://openalex.org/C162262903","wikidata":"https://www.wikidata.org/wiki/Q343527","display_name":"Allocator","level":2,"score":0.4291999936103821},{"id":"https://openalex.org/C2775924081","wikidata":"https://www.wikidata.org/wiki/Q55608371","display_name":"Control (management)","level":2,"score":0.4189999997615814},{"id":"https://openalex.org/C26517878","wikidata":"https://www.wikidata.org/wiki/Q228039","display_name":"Key (lock)","level":2,"score":0.4068000018596649},{"id":"https://openalex.org/C2776760102","wikidata":"https://www.wikidata.org/wiki/Q5139990","display_name":"Code (set theory)","level":3,"score":0.352400004863739},{"id":"https://openalex.org/C77618280","wikidata":"https://www.wikidata.org/wiki/Q1155772","display_name":"Scheme (mathematics)","level":2,"score":0.3440000116825104},{"id":"https://openalex.org/C2779960059","wikidata":"https://www.wikidata.org/wiki/Q7113681","display_name":"Overhead (engineering)","level":2,"score":0.33880001306533813},{"id":"https://openalex.org/C2775941552","wikidata":"https://www.wikidata.org/wiki/Q25212305","display_name":"Isolation (microbiology)","level":2,"score":0.3377000093460083},{"id":"https://openalex.org/C115903868","wikidata":"https://www.wikidata.org/wiki/Q80993","display_name":"Software engineering","level":1,"score":0.3285999894142151},{"id":"https://openalex.org/C126706616","wikidata":"https://www.wikidata.org/wiki/Q2944660","display_name":"Lexical item","level":2,"score":0.32249999046325684},{"id":"https://openalex.org/C184337299","wikidata":"https://www.wikidata.org/wiki/Q1437428","display_name":"Semantics (computer science)","level":2,"score":0.2996000051498413},{"id":"https://openalex.org/C176982825","wikidata":"https://www.wikidata.org/wiki/Q835922","display_name":"Lexical analysis","level":2,"score":0.2985000014305115},{"id":"https://openalex.org/C165696696","wikidata":"https://www.wikidata.org/wiki/Q11287","display_name":"Exploit","level":2,"score":0.2978000044822693},{"id":"https://openalex.org/C43126263","wikidata":"https://www.wikidata.org/wiki/Q128751","display_name":"Source code","level":2,"score":0.2831999957561493},{"id":"https://openalex.org/C2776235265","wikidata":"https://www.wikidata.org/wiki/Q18392052","display_name":"Fragment (logic)","level":2,"score":0.2581999897956848},{"id":"https://openalex.org/C9395851","wikidata":"https://www.wikidata.org/wiki/Q177929","display_name":"Stack (abstract data type)","level":2,"score":0.2565000057220459},{"id":"https://openalex.org/C119839945","wikidata":"https://www.wikidata.org/wiki/Q6545185","display_name":"Unique identifier","level":3,"score":0.2533000111579895},{"id":"https://openalex.org/C2780791683","wikidata":"https://www.wikidata.org/wiki/Q846785","display_name":"Action (physics)","level":2,"score":0.25209999084472656}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/3763177","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3763177","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":"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"}],"best_oa_location":{"id":"doi:10.1145/3763177","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3763177","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":"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":[],"funders":[],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":36,"referenced_works":["https://openalex.org/W173515685","https://openalex.org/W1606211906","https://openalex.org/W1971752790","https://openalex.org/W1981962444","https://openalex.org/W1990245519","https://openalex.org/W2007435074","https://openalex.org/W2017381700","https://openalex.org/W2038677544","https://openalex.org/W2057292961","https://openalex.org/W2071136304","https://openalex.org/W2073544767","https://openalex.org/W2073904768","https://openalex.org/W2087875803","https://openalex.org/W2129902163","https://openalex.org/W2135739536","https://openalex.org/W2148662736","https://openalex.org/W2184230987","https://openalex.org/W2410807300","https://openalex.org/W2568721247","https://openalex.org/W2900081643","https://openalex.org/W2995698344","https://openalex.org/W3006963970","https://openalex.org/W3014236027","https://openalex.org/W3101155261","https://openalex.org/W3103594074","https://openalex.org/W3107145433","https://openalex.org/W3109210160","https://openalex.org/W3149432941","https://openalex.org/W3170236839","https://openalex.org/W4250511189","https://openalex.org/W4282044797","https://openalex.org/W4307888371","https://openalex.org/W4387667016","https://openalex.org/W4387667212","https://openalex.org/W4403223110","https://openalex.org/W7077154521"],"related_works":[],"abstract_inverted_index":{"Exception":[0],"handlers\u2014and":[1],"effect":[2,185],"handlers":[3,35,49,59,76,109,135,149],"more":[4],"generally\u2014are":[5],"language":[6],"mechanisms":[7],"for":[8,57,182,212],"structured":[9],"non\u00adlocal":[10],"control":[11],"flow.":[12],"A":[13],"recent":[14],"trend":[15],"in":[16,60,120,150,203],"language-design":[17],"research":[18],"has":[19],"introduced":[20],"lexically":[21,47,74],"scoped":[22,34,48,75,94],"handlers,":[23],"which":[24],"address":[25],"a":[26,54,69,101],"modularity":[27],"problem":[28],"with":[29],"dynamic":[30],"scoping.":[31],"While":[32],"dynamically":[33,93],"allow":[36],"zero-overhead":[37,83],"implementations":[38,45],"when":[39],"no":[40,130],"effects":[41],"are":[42,136],"raised,":[43],"existing":[44],"of":[46,77,134,148,159],"require":[50],"programs":[51],"to":[52,72,124,179],"pay":[53],"cost":[55],"just":[56],"having":[58],"the":[61,82,112,118,122,126,146,151,156,172,176,196],"lexical":[62,113,132],"context.":[63,114],"In":[64],"this":[65,160],"paper,":[66],"we":[67],"present":[68],"novel":[70],"approach":[71,170],"implementing":[73],"exceptional":[78],"effects.":[79],"It":[80],"satisfies":[81],"principle\u2014a":[84],"property":[85],"otherwise":[86],"met":[87],"by":[88,145],"most":[89],"modern":[90],"compilers":[91],"supporting":[92],"exception":[95],"handlers.":[96],"The":[97],"key":[98],"idea":[99],"is":[100,141],"type-directed":[102],"translation":[103],"that":[104,195],"emits":[105],"information":[106,116],"indicating":[107],"how":[108],"come":[110],"into":[111,171],"This":[115],"guides":[117],"runtime":[119],"walking":[121],"stack":[123],"locate":[125],"right":[127],"handler.":[128],"Crucially,":[129],"reified":[131],"identifiers":[133],"needed,":[137],"and":[138,163],"mainline":[139],"code":[140],"not":[142],"slowed":[143],"down":[144],"presence":[147],"program":[152],"text.":[153],"We":[154,167],"formalize":[155],"essential":[157],"aspects":[158],"compilation":[161,177],"scheme":[162],"prove":[164],"it":[165],"correct.":[166],"integrate":[168],"our":[169],"Lexa":[173,198],"language,":[174],"allowing":[175],"strategy":[178],"be":[180],"customized":[181],"each":[183],"declared":[184],"based":[186],"on":[187],"its":[188],"expected":[189],"invocation":[190],"rate.":[191],"Empirical":[192],"results":[193],"suggest":[194],"new":[197],"compiler":[199],"reduces":[200],"run-time":[201],"overhead":[202],"low-effect":[204],"or":[205],"no-effect":[206],"scenarios":[207],"while":[208],"preserving":[209],"competitive":[210],"performance":[211],"effect-heavy":[213],"workloads.":[214]},"counts_by_year":[{"year":2025,"cited_by_count":1}],"updated_date":"2026-05-21T09:19:25.381259","created_date":"2025-10-10T00:00:00"}
