{"id":"https://openalex.org/W4307888371","doi":"https://doi.org/10.1145/3563289","title":"First-class names for effect handlers","display_name":"First-class names for effect handlers","publication_year":2022,"publication_date":"2022-10-31","ids":{"openalex":"https://openalex.org/W4307888371","doi":"https://doi.org/10.1145/3563289"},"language":"en","primary_location":{"id":"doi:10.1145/3563289","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3563289","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3563289","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/3563289","any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5008249278","display_name":"Ningning Xie","orcid":"https://orcid.org/0000-0002-5961-1493"},"institutions":[{"id":"https://openalex.org/I241749","display_name":"University of Cambridge","ror":"https://ror.org/013meh722","country_code":"GB","type":"education","lineage":["https://openalex.org/I241749"]}],"countries":["GB"],"is_corresponding":true,"raw_author_name":"Ningning Xie","raw_affiliation_strings":["University of Cambridge, UK"],"raw_orcid":"https://orcid.org/0000-0002-5961-1493","affiliations":[{"raw_affiliation_string":"University of Cambridge, UK","institution_ids":["https://openalex.org/I241749"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5079543555","display_name":"Youyou Cong","orcid":"https://orcid.org/0000-0003-2315-6182"},"institutions":[{"id":"https://openalex.org/I114531698","display_name":"Tokyo Institute of Technology","ror":"https://ror.org/0112mx960","country_code":"JP","type":"education","lineage":["https://openalex.org/I114531698"]}],"countries":["JP"],"is_corresponding":false,"raw_author_name":"Youyou Cong","raw_affiliation_strings":["Tokyo Institute of Technology, Japan"],"raw_orcid":"https://orcid.org/0000-0003-2315-6182","affiliations":[{"raw_affiliation_string":"Tokyo Institute of Technology, Japan","institution_ids":["https://openalex.org/I114531698"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5066129269","display_name":"Kazuki Ikemori","orcid":"https://orcid.org/0000-0003-4452-6592"},"institutions":[{"id":"https://openalex.org/I114531698","display_name":"Tokyo Institute of Technology","ror":"https://ror.org/0112mx960","country_code":"JP","type":"education","lineage":["https://openalex.org/I114531698"]}],"countries":["JP"],"is_corresponding":false,"raw_author_name":"Kazuki Ikemori","raw_affiliation_strings":["Tokyo Institute of Technology, Japan"],"raw_orcid":"https://orcid.org/0000-0003-4452-6592","affiliations":[{"raw_affiliation_string":"Tokyo Institute of Technology, Japan","institution_ids":["https://openalex.org/I114531698"]}]},{"author_position":"last","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, USA"],"raw_orcid":"https://orcid.org/0000-0003-1027-5430","affiliations":[{"raw_affiliation_string":"Microsoft Research, USA","institution_ids":["https://openalex.org/I1290206253"]}]}],"institutions":[],"countries_distinct_count":3,"institutions_distinct_count":4,"corresponding_author_ids":["https://openalex.org/A5008249278"],"corresponding_institution_ids":["https://openalex.org/I241749"],"apc_list":null,"apc_paid":null,"fwci":0.9711,"has_fulltext":true,"cited_by_count":9,"citation_normalized_percentile":{"value":0.80035083,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":94,"max":99},"biblio":{"volume":"6","issue":"OOPSLA2","first_page":"30","last_page":"59"},"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.992900013923645,"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.9836999773979187,"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/computer-science","display_name":"Computer science","score":0.8273385763168335},{"id":"https://openalex.org/keywords/programmer","display_name":"Programmer","score":0.7598661780357361},{"id":"https://openalex.org/keywords/unification","display_name":"Unification","score":0.6661638617515564},{"id":"https://openalex.org/keywords/class","display_name":"Class (philosophy)","score":0.6221206188201904},{"id":"https://openalex.org/keywords/scope","display_name":"Scope (computer science)","score":0.589201033115387},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.5637105703353882},{"id":"https://openalex.org/keywords/rank","display_name":"Rank (graph theory)","score":0.5231455564498901},{"id":"https://openalex.org/keywords/simple","display_name":"Simple (philosophy)","score":0.44512224197387695},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.37782442569732666},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.29330387711524963},{"id":"https://openalex.org/keywords/mathematics","display_name":"Mathematics","score":0.09116432070732117}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8273385763168335},{"id":"https://openalex.org/C2778514511","wikidata":"https://www.wikidata.org/wiki/Q1374194","display_name":"Programmer","level":2,"score":0.7598661780357361},{"id":"https://openalex.org/C96146094","wikidata":"https://www.wikidata.org/wiki/Q609057","display_name":"Unification","level":2,"score":0.6661638617515564},{"id":"https://openalex.org/C2777212361","wikidata":"https://www.wikidata.org/wiki/Q5127848","display_name":"Class (philosophy)","level":2,"score":0.6221206188201904},{"id":"https://openalex.org/C2778012447","wikidata":"https://www.wikidata.org/wiki/Q1034415","display_name":"Scope (computer science)","level":2,"score":0.589201033115387},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.5637105703353882},{"id":"https://openalex.org/C164226766","wikidata":"https://www.wikidata.org/wiki/Q7293202","display_name":"Rank (graph theory)","level":2,"score":0.5231455564498901},{"id":"https://openalex.org/C2780586882","wikidata":"https://www.wikidata.org/wiki/Q7520643","display_name":"Simple (philosophy)","level":2,"score":0.44512224197387695},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.37782442569732666},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.29330387711524963},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.09116432070732117},{"id":"https://openalex.org/C114614502","wikidata":"https://www.wikidata.org/wiki/Q76592","display_name":"Combinatorics","level":1,"score":0.0},{"id":"https://openalex.org/C138885662","wikidata":"https://www.wikidata.org/wiki/Q5891","display_name":"Philosophy","level":0,"score":0.0},{"id":"https://openalex.org/C111472728","wikidata":"https://www.wikidata.org/wiki/Q9471","display_name":"Epistemology","level":1,"score":0.0}],"mesh":[],"locations_count":3,"locations":[{"id":"doi:10.1145/3563289","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3563289","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3563289","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:t2r2.star.titech.ac.jp:50581821","is_oa":false,"landing_page_url":"http://t2r2.star.titech.ac.jp/cgi-bin/publicationinfo.cgi?q_publication_content_number=CTT100854433","pdf_url":null,"source":{"id":"https://openalex.org/S4377196385","display_name":"Tokyo Tech Research Repository (Tokyo Institute of Technology)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I114531698","host_organization_name":"Tokyo Institute of Technology","host_organization_lineage":["https://openalex.org/I114531698"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"","raw_type":"Conference Paper"},{"id":"pmh:oai:t2r2.star.titech.ac.jp:50634238","is_oa":false,"landing_page_url":"http://t2r2.star.titech.ac.jp/cgi-bin/publicationinfo.cgi?q_publication_content_number=CTT100881730","pdf_url":null,"source":{"id":"https://openalex.org/S4377196385","display_name":"Tokyo Tech Research Repository (Tokyo Institute of Technology)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I114531698","host_organization_name":"Tokyo Institute of Technology","host_organization_lineage":["https://openalex.org/I114531698"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"","raw_type":"Conference Paper"}],"best_oa_location":{"id":"doi:10.1145/3563289","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3563289","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3563289","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":{"grobid_xml":true,"pdf":true},"content_urls":{"pdf":"https://content.openalex.org/works/W4307888371.pdf","grobid_xml":"https://content.openalex.org/works/W4307888371.grobid-xml"},"referenced_works_count":40,"referenced_works":["https://openalex.org/W103523709","https://openalex.org/W1606211906","https://openalex.org/W1830421783","https://openalex.org/W1980939032","https://openalex.org/W2007435074","https://openalex.org/W2041438114","https://openalex.org/W2048365843","https://openalex.org/W2074674709","https://openalex.org/W2086744387","https://openalex.org/W2098983494","https://openalex.org/W2102185243","https://openalex.org/W2109375905","https://openalex.org/W2129224383","https://openalex.org/W2129902163","https://openalex.org/W2184230987","https://openalex.org/W2208976468","https://openalex.org/W2293423472","https://openalex.org/W2404735976","https://openalex.org/W2510703714","https://openalex.org/W2561708922","https://openalex.org/W2776685097","https://openalex.org/W2777452194","https://openalex.org/W2890953006","https://openalex.org/W2900081643","https://openalex.org/W2900643308","https://openalex.org/W2911706275","https://openalex.org/W2966177220","https://openalex.org/W2980302423","https://openalex.org/W2995698344","https://openalex.org/W3015096137","https://openalex.org/W3101155261","https://openalex.org/W3101745982","https://openalex.org/W3102012372","https://openalex.org/W3103594074","https://openalex.org/W3107145433","https://openalex.org/W3112414036","https://openalex.org/W3167737351","https://openalex.org/W4242410833","https://openalex.org/W4248324061","https://openalex.org/W6894160854"],"related_works":["https://openalex.org/W2379153735","https://openalex.org/W2367630557","https://openalex.org/W101666983","https://openalex.org/W2183792531","https://openalex.org/W2595286499","https://openalex.org/W2046172023","https://openalex.org/W2170146914","https://openalex.org/W2972896947","https://openalex.org/W2616882931","https://openalex.org/W1987401065"],"abstract_inverted_index":{"Algebraic":[0],"effects":[1,12,135],"and":[2,74,95,109,150,153,173],"handlers":[3,18,70,127,149],"are":[4,71],"a":[5,30,43,93,120,131,138,170,174],"promising":[6],"technique":[7],"for":[8],"incorporating":[9],"composable":[10],"computational":[11],"into":[13],"functional":[14],"programming":[15,21,159],"languages.":[16],"Effect":[17],"enable":[19],"concisely":[20],"with":[22,35,128],"different":[23,36,62],"effects,":[24,152],"but":[25],"they":[26,77],"do":[27],"not":[28],"offer":[29],"convenient":[31],"way":[32],"to":[33,45,59,81],"program":[34],"instances":[37],"of":[38,68,85,98,134,147,166],"the":[39,57,83,116,157],"same":[40],"effect.":[41],"As":[42],"solution":[44],"this":[46,89],"inconvenience,":[47],"previous":[48],"studies":[49],"have":[50],"introduced":[51],"_named":[52],"effect":[53,63],"handlers_,":[54],"which":[55],"allow":[56],"programmer":[58],"distinguish":[60],"among":[61],"instances.":[64],"However,":[65],"existing":[66],"formalizations":[67],"named":[69,99,126,148,167],"both":[72],"involved":[73],"restrictive,":[75],"as":[76,106],"employ":[78],"non-standard":[79],"mechanisms":[80],"prevent":[82,110],"escaping":[84,112],"handler":[86,104],"names.":[87],"In":[88],"paper,":[90],"we":[91,102],"propose":[92],"simple":[94],"flexible":[96],"design":[97,121],"handlers.":[100],"Specifically,":[101],"treat":[103],"names":[105],"first-class":[107],"values,":[108],"their":[111],"while":[113],"staying":[114],"within":[115],"ordinary":[117],"\u03bb-calculus.":[118],"Such":[119],"is":[122],"enabled":[123],"by":[124],"combining":[125],"_scoped":[129],"effects_,":[130],"novel":[132],"variation":[133],"that":[136],"maintain":[137],"scope":[139],"via":[140],"rank-2":[141],"polymorphism.":[142],"We":[143,161],"formalize":[144],"two":[145],"combinations":[146],"scoped":[151],"implement":[154],"them":[155],"in":[156],"Koka":[158],"language.":[160],"also":[162],"present":[163],"practical":[164],"applications":[165],"handlers,":[168],"including":[169],"neural":[171],"network":[172],"unification":[175],"algorithm.":[176]},"counts_by_year":[{"year":2026,"cited_by_count":2},{"year":2025,"cited_by_count":2},{"year":2024,"cited_by_count":3},{"year":2023,"cited_by_count":2}],"updated_date":"2025-11-06T03:46:38.306776","created_date":"2025-10-10T00:00:00"}
