{"id":"https://openalex.org/W4387667212","doi":"https://doi.org/10.1145/3622814","title":"Continuing WebAssembly with Effect Handlers","display_name":"Continuing WebAssembly with Effect Handlers","publication_year":2023,"publication_date":"2023-10-16","ids":{"openalex":"https://openalex.org/W4387667212","doi":"https://doi.org/10.1145/3622814"},"language":"en","primary_location":{"id":"doi:10.1145/3622814","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3622814","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3622814","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/3622814","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5085474894","display_name":"Luna Phipps-Costin","orcid":"https://orcid.org/0009-0001-4398-6987"},"institutions":[{"id":"https://openalex.org/I12912129","display_name":"Northeastern University","ror":"https://ror.org/04t5xt781","country_code":"US","type":"education","lineage":["https://openalex.org/I12912129"]}],"countries":["US"],"is_corresponding":true,"raw_author_name":"Luna Phipps-Costin","raw_affiliation_strings":["Northeastern University, Boston, USA"],"affiliations":[{"raw_affiliation_string":"Northeastern University, Boston, USA","institution_ids":["https://openalex.org/I12912129"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5054382677","display_name":"Andreas Rossberg","orcid":"https://orcid.org/0000-0003-3137-3160"},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Andreas Rossberg","raw_affiliation_strings":["Independent, Munich, Germany"],"affiliations":[{"raw_affiliation_string":"Independent, Munich, Germany","institution_ids":[]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5044042294","display_name":"Arjun Guha","orcid":"https://orcid.org/0000-0002-7493-3271"},"institutions":[{"id":"https://openalex.org/I111088046","display_name":"Boston University","ror":"https://ror.org/05qwgg493","country_code":"US","type":"education","lineage":["https://openalex.org/I111088046"]},{"id":"https://openalex.org/I12912129","display_name":"Northeastern University","ror":"https://ror.org/04t5xt781","country_code":"US","type":"education","lineage":["https://openalex.org/I12912129"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Arjun Guha","raw_affiliation_strings":["Northeastern University, Boston, USA / Roblox, Boston, USA"],"affiliations":[{"raw_affiliation_string":"Northeastern University, Boston, USA / Roblox, Boston, USA","institution_ids":["https://openalex.org/I12912129","https://openalex.org/I111088046"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5086447301","display_name":"Daan Leijen","orcid":"https://orcid.org/0000-0003-1027-5430"},"institutions":[{"id":"https://openalex.org/I1290206253","display_name":"Microsoft (United States)","ror":"https://ror.org/00d0nc645","country_code":"US","type":"company","lineage":["https://openalex.org/I1290206253"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Daan Leijen","raw_affiliation_strings":["Microsoft Research, Redmond, USA"],"affiliations":[{"raw_affiliation_string":"Microsoft Research, Redmond, USA","institution_ids":["https://openalex.org/I1290206253"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5044923804","display_name":"Daniel Hillerstr\u00f6m","orcid":"https://orcid.org/0000-0003-4730-9315"},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Daniel Hillerstr\u00f6m","raw_affiliation_strings":["Huawei Zurich Research Center, Zurich, Switzerland"],"affiliations":[{"raw_affiliation_string":"Huawei Zurich Research Center, Zurich, Switzerland","institution_ids":[]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5010633349","display_name":"KC Sivaramakrishnan","orcid":"https://orcid.org/0000-0002-3491-1780"},"institutions":[{"id":"https://openalex.org/I24676775","display_name":"Indian Institute of Technology Madras","ror":"https://ror.org/03v0r5n49","country_code":"IN","type":"facility","lineage":["https://openalex.org/I24676775"]}],"countries":["IN"],"is_corresponding":false,"raw_author_name":"KC Sivaramakrishnan","raw_affiliation_strings":["Tarides, Chennai, India / IIT Madras, Chennai, India"],"affiliations":[{"raw_affiliation_string":"Tarides, Chennai, India / IIT Madras, Chennai, India","institution_ids":["https://openalex.org/I24676775"]}]},{"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"]},{"id":"https://openalex.org/I4210106342","display_name":"Institute of Mathematics, Physics, and Mechanics","ror":"https://ror.org/01eb3qa50","country_code":"SI","type":"facility","lineage":["https://openalex.org/I4210106342"]}],"countries":["SI"],"is_corresponding":false,"raw_author_name":"Matija Pretnar","raw_affiliation_strings":["University of Ljubljana, Ljubljana, Slovenia / Institute of Mathematics, Physics &amp; Mechanics, Ljubljana, Slovenia"],"affiliations":[{"raw_affiliation_string":"University of Ljubljana, Ljubljana, Slovenia / Institute of Mathematics, Physics &amp; Mechanics, Ljubljana, Slovenia","institution_ids":["https://openalex.org/I4210106342","https://openalex.org/I153976015"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5061903791","display_name":"Sam Lindley","orcid":"https://orcid.org/0000-0002-1360-4714"},"institutions":[{"id":"https://openalex.org/I98677209","display_name":"University of Edinburgh","ror":"https://ror.org/01nrxwf90","country_code":"GB","type":"education","lineage":["https://openalex.org/I98677209"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"Sam Lindley","raw_affiliation_strings":["The University of Edinburgh, Edinburgh, United Kingdom"],"affiliations":[{"raw_affiliation_string":"The University of Edinburgh, Edinburgh, United Kingdom","institution_ids":["https://openalex.org/I98677209"]}]}],"institutions":[],"countries_distinct_count":4,"institutions_distinct_count":8,"corresponding_author_ids":["https://openalex.org/A5085474894"],"corresponding_institution_ids":["https://openalex.org/I12912129"],"apc_list":null,"apc_paid":null,"fwci":3.8625,"has_fulltext":true,"cited_by_count":18,"citation_normalized_percentile":{"value":0.96525983,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":97,"max":99},"biblio":{"volume":"7","issue":"OOPSLA2","first_page":"460","last_page":"485"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10743","display_name":"Software Testing and Debugging Techniques","score":0.9835000038146973,"subfield":{"id":"https://openalex.org/subfields/1712","display_name":"Software"},"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/T10743","display_name":"Software Testing and Debugging Techniques","score":0.9835000038146973,"subfield":{"id":"https://openalex.org/subfields/1712","display_name":"Software"},"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.9825999736785889,"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/T11424","display_name":"Security and Verification in Computing","score":0.9825999736785889,"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/computer-science","display_name":"Computer science","score":0.8595669269561768},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.7303743362426758},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.6723716259002686},{"id":"https://openalex.org/keywords/interpreter","display_name":"Interpreter","score":0.5896219611167908},{"id":"https://openalex.org/keywords/extension","display_name":"Extension (predicate logic)","score":0.5440704822540283},{"id":"https://openalex.org/keywords/control-flow","display_name":"Control flow","score":0.5160090923309326}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8595669269561768},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.7303743362426758},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.6723716259002686},{"id":"https://openalex.org/C122783720","wikidata":"https://www.wikidata.org/wiki/Q183065","display_name":"Interpreter","level":2,"score":0.5896219611167908},{"id":"https://openalex.org/C2778029271","wikidata":"https://www.wikidata.org/wiki/Q5421931","display_name":"Extension (predicate logic)","level":2,"score":0.5440704822540283},{"id":"https://openalex.org/C160191386","wikidata":"https://www.wikidata.org/wiki/Q868299","display_name":"Control flow","level":2,"score":0.5160090923309326}],"mesh":[],"locations_count":3,"locations":[{"id":"doi:10.1145/3622814","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3622814","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3622814","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.ed.ac.uk:openaire/c9570913-fb0c-4586-96ab-bba02355326c","is_oa":true,"landing_page_url":"https://www.research.ed.ac.uk/en/publications/c9570913-fb0c-4586-96ab-bba02355326c","pdf_url":null,"source":{"id":"https://openalex.org/S4406922455","display_name":"Edinburgh Research Explorer","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"repository"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"Phipps-Costin, L, Rossberg, A, Guha, A, Leijen, D, Hillerstr\u00f6m, D, Sivaramakrishnan, K C, Pretnar, M & Lindley, S 2023, 'Continuing WebAssembly with Effect Handlers', Proceedings of the ACM on Programming Languages, vol. 7, no. OOPSLA2, 238, pp. 460-485. https://doi.org/10.1145/3622814","raw_type":"info:eu-repo/semantics/publishedVersion"},{"id":"pmh:oai:pure.ed.ac.uk:publications/c9570913-fb0c-4586-96ab-bba02355326c","is_oa":true,"landing_page_url":"https://www.research.ed.ac.uk/files/407798709/Continuing_WebAssembly_PHIPPS-COSTIN_DOA30062023_VOR_CC_BY.pdf","pdf_url":null,"source":{"id":"https://openalex.org/S4306400321","display_name":"Edinburgh Research Explorer (University of Edinburgh)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I98677209","host_organization_name":"University of Edinburgh","host_organization_lineage":["https://openalex.org/I98677209"],"host_organization_lineage_names":[],"type":"repository"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"Phipps-Costin, L, Rossberg, A, Guha, A, Leijen, D, Hillerstr\u00f6m, D, Sivaramakrishnan, K C, Pretnar, M & Lindley, S 2023, 'Continuing WebAssembly with Effect Handlers', Proceedings of the ACM on Programming Languages, vol. 7, no. OOPSLA2, 238, pp. 460-485. https://doi.org/10.1145/3622814","raw_type":"info:eu-repo/semantics/publishedVersion"}],"best_oa_location":{"id":"doi:10.1145/3622814","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3622814","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3622814","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":[{"id":"https://openalex.org/F4320306076","display_name":"National Science Foundation","ror":"https://ror.org/021nxhr62"},{"id":"https://openalex.org/F4320314731","display_name":"UK Research and Innovation","ror":"https://ror.org/001aqnf71"}],"has_content":{"grobid_xml":true,"pdf":true},"content_urls":{"pdf":"https://content.openalex.org/works/W4387667212.pdf","grobid_xml":"https://content.openalex.org/works/W4387667212.grobid-xml"},"referenced_works_count":15,"referenced_works":["https://openalex.org/W1584322803","https://openalex.org/W1992124283","https://openalex.org/W2101225843","https://openalex.org/W2338036611","https://openalex.org/W3010987607","https://openalex.org/W3033863073","https://openalex.org/W3096391135","https://openalex.org/W3127367985","https://openalex.org/W3149432941","https://openalex.org/W3170236839","https://openalex.org/W4232865065","https://openalex.org/W4238644718","https://openalex.org/W4242142379","https://openalex.org/W4307888371","https://openalex.org/W6969066768"],"related_works":["https://openalex.org/W2171648479","https://openalex.org/W2072862863","https://openalex.org/W2088766201","https://openalex.org/W2132806979","https://openalex.org/W1713081424","https://openalex.org/W1523769955","https://openalex.org/W2245390655","https://openalex.org/W2103136046","https://openalex.org/W188282463","https://openalex.org/W2557531567"],"abstract_inverted_index":{"WebAssembly":[0],"(Wasm)":[1],"is":[2,13,97,145],"a":[3,16,20,76,135,162,168,194],"low-level":[4],"portable":[5],"code":[6],"format":[7],"offering":[8],"near":[9],"native":[10,195],"performance.":[11],"It":[12],"intended":[14],"as":[15,38,151],"compilation":[17],"target":[18,65,78],"for":[19,32,50,79,105,166,182],"wide":[21],"variety":[22],"of":[23,127,138],"source":[24,51,60],"languages.":[25],"However,":[26],"Wasm":[27,73,128,156,170],"provides":[28,75],"no":[29],"direct":[30],"support":[31],"non-local":[33,80],"control":[34,81],"flow":[35],"features":[36,55,82,91],"such":[37,54,90],"async/await,":[39],"generators/iterators,":[40],"lightweight":[41],"threads,":[42],"first-class":[43],"continuations,":[44],"etc.":[45],"This":[46],"means":[47],"that":[48,142],"compilers":[49,87],"languages":[52],"with":[53,123],"must":[56],"ceremoniously":[57],"transform":[58],"whole":[59],"programs":[61],"in":[62],"order":[63],"to":[64,72,88,154,192],"Wasm.":[66,94],"We":[67,133,147],"present":[68,134],"WasmFX":[69,139,150,164],"an":[70,152],"extension":[71,96,144,153,165],"which":[74,120],"universal":[77],"via":[83],"effect":[84],"handlers,":[85],"enabling":[86],"translate":[89],"directly":[92],"into":[93],"Our":[95],"minimal":[98],"and":[99,108,140,159,187],"only":[100],"adds":[101],"three":[102],"main":[103],"instructions":[104,114],"creating,":[106],"suspending,":[107],"resuming":[109],"continuations.":[110],"Moreover,":[111],"our":[112,183],"primitive":[113],"are":[115,121,131,185],"type-safe":[116],"providing":[117],"typed":[118],"continuations":[119],"well-aligned":[122],"the":[124,143,155],"design":[125],"principles":[126],"whose":[129],"stacks":[130],"typed.":[132],"formal":[136],"specification":[137],"show":[141],"sound.":[146],"have":[148],"implemented":[149],"reference":[157],"interpreter":[158],"also":[160],"built":[161],"prototype":[163,184],"Wasmtime,":[167],"production-grade":[169],"engine,":[171],"piggybacking":[172],"on":[173],"Wasmtime's":[174],"existing":[175],"fibers":[176],"API.":[177],"The":[178],"preliminary":[179],"performance":[180],"results":[181],"encouraging,":[186],"we":[188],"outline":[189],"future":[190],"plans":[191],"realise":[193],"implementation.":[196]},"counts_by_year":[{"year":2026,"cited_by_count":1},{"year":2025,"cited_by_count":11},{"year":2024,"cited_by_count":6}],"updated_date":"2025-11-06T03:46:38.306776","created_date":"2025-10-10T00:00:00"}
