{"id":"https://openalex.org/W3047512562","doi":"https://doi.org/10.1145/3408975","title":"Compiling effect handlers in capability-passing style","display_name":"Compiling effect handlers in capability-passing style","publication_year":2020,"publication_date":"2020-08-02","ids":{"openalex":"https://openalex.org/W3047512562","doi":"https://doi.org/10.1145/3408975","mag":"3047512562"},"language":"en","primary_location":{"id":"doi:10.1145/3408975","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3408975","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3408975","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/3408975","any_repository_has_fulltext":false},"authorships":[{"author_position":"first","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":null,"affiliations":[{"raw_affiliation_string":"University of T\u00fcbingen, Germany","institution_ids":["https://openalex.org/I8087733"]}]},{"author_position":"middle","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"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5049077225","display_name":"Klaus Ostermann","orcid":"https://orcid.org/0000-0001-5294-5506"},"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":"Klaus Ostermann","raw_affiliation_strings":["University of T\u00fcbingen, Germany"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"University of T\u00fcbingen, Germany","institution_ids":["https://openalex.org/I8087733"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":[],"corresponding_institution_ids":["https://openalex.org/I8087733"],"apc_list":null,"apc_paid":null,"fwci":2.2164,"has_fulltext":true,"cited_by_count":23,"citation_normalized_percentile":{"value":0.90382066,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":89,"max":99},"biblio":{"volume":"4","issue":"ICFP","first_page":"1","last_page":"28"},"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.9998999834060669,"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.9998999834060669,"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.9958000183105469,"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.994700014591217,"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.8260526657104492},{"id":"https://openalex.org/keywords/iterated-function","display_name":"Iterated function","score":0.7581745386123657},{"id":"https://openalex.org/keywords/abstraction","display_name":"Abstraction","score":0.6308866143226624},{"id":"https://openalex.org/keywords/translation","display_name":"Translation (biology)","score":0.6041617393493652},{"id":"https://openalex.org/keywords/control-flow","display_name":"Control flow","score":0.5892252326011658},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.5632801055908203},{"id":"https://openalex.org/keywords/regret","display_name":"Regret","score":0.5527274012565613},{"id":"https://openalex.org/keywords/suite","display_name":"Suite","score":0.47943633794784546},{"id":"https://openalex.org/keywords/class","display_name":"Class (philosophy)","score":0.4484078884124756},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.169260174036026},{"id":"https://openalex.org/keywords/mathematics","display_name":"Mathematics","score":0.09645873308181763}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8260526657104492},{"id":"https://openalex.org/C140479938","wikidata":"https://www.wikidata.org/wiki/Q5254619","display_name":"Iterated function","level":2,"score":0.7581745386123657},{"id":"https://openalex.org/C124304363","wikidata":"https://www.wikidata.org/wiki/Q673661","display_name":"Abstraction","level":2,"score":0.6308866143226624},{"id":"https://openalex.org/C149364088","wikidata":"https://www.wikidata.org/wiki/Q185917","display_name":"Translation (biology)","level":4,"score":0.6041617393493652},{"id":"https://openalex.org/C160191386","wikidata":"https://www.wikidata.org/wiki/Q868299","display_name":"Control flow","level":2,"score":0.5892252326011658},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.5632801055908203},{"id":"https://openalex.org/C50817715","wikidata":"https://www.wikidata.org/wiki/Q79895177","display_name":"Regret","level":2,"score":0.5527274012565613},{"id":"https://openalex.org/C79581498","wikidata":"https://www.wikidata.org/wiki/Q1367530","display_name":"Suite","level":2,"score":0.47943633794784546},{"id":"https://openalex.org/C2777212361","wikidata":"https://www.wikidata.org/wiki/Q5127848","display_name":"Class (philosophy)","level":2,"score":0.4484078884124756},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.169260174036026},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.09645873308181763},{"id":"https://openalex.org/C134306372","wikidata":"https://www.wikidata.org/wiki/Q7754","display_name":"Mathematical analysis","level":1,"score":0.0},{"id":"https://openalex.org/C104317684","wikidata":"https://www.wikidata.org/wiki/Q7187","display_name":"Gene","level":2,"score":0.0},{"id":"https://openalex.org/C95457728","wikidata":"https://www.wikidata.org/wiki/Q309","display_name":"History","level":0,"score":0.0},{"id":"https://openalex.org/C119857082","wikidata":"https://www.wikidata.org/wiki/Q2539","display_name":"Machine learning","level":1,"score":0.0},{"id":"https://openalex.org/C55493867","wikidata":"https://www.wikidata.org/wiki/Q7094","display_name":"Biochemistry","level":1,"score":0.0},{"id":"https://openalex.org/C185592680","wikidata":"https://www.wikidata.org/wiki/Q2329","display_name":"Chemistry","level":0,"score":0.0},{"id":"https://openalex.org/C166957645","wikidata":"https://www.wikidata.org/wiki/Q23498","display_name":"Archaeology","level":1,"score":0.0},{"id":"https://openalex.org/C105580179","wikidata":"https://www.wikidata.org/wiki/Q188928","display_name":"Messenger RNA","level":3,"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":1,"locations":[{"id":"doi:10.1145/3408975","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3408975","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3408975","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/3408975","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3408975","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3408975","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":[{"id":"https://openalex.org/G8263645948","display_name":"ALIEN: Abstraktionen, Sprachen und Implementierungstechniken, die die Kluft zwischen Programmier und Anfragesprachen \u00fcberwinden","funder_award_id":"282458149","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/W3047512562.pdf","grobid_xml":"https://content.openalex.org/works/W3047512562.grobid-xml"},"referenced_works_count":41,"referenced_works":["https://openalex.org/W78235646","https://openalex.org/W1556604985","https://openalex.org/W1971752790","https://openalex.org/W1971906578","https://openalex.org/W1980939032","https://openalex.org/W1981830935","https://openalex.org/W1999336811","https://openalex.org/W2009464583","https://openalex.org/W2043416466","https://openalex.org/W2086744387","https://openalex.org/W2094455839","https://openalex.org/W2096314727","https://openalex.org/W2124509807","https://openalex.org/W2135235252","https://openalex.org/W2141576692","https://openalex.org/W2145108549","https://openalex.org/W2160249850","https://openalex.org/W2184230987","https://openalex.org/W2208976468","https://openalex.org/W2210312992","https://openalex.org/W2293168108","https://openalex.org/W2400705738","https://openalex.org/W2404735976","https://openalex.org/W2510703714","https://openalex.org/W2562114628","https://openalex.org/W2681262331","https://openalex.org/W2762412788","https://openalex.org/W2798715557","https://openalex.org/W2890147338","https://openalex.org/W2898332157","https://openalex.org/W2907553500","https://openalex.org/W2952278735","https://openalex.org/W2964794147","https://openalex.org/W2995698344","https://openalex.org/W3014236027","https://openalex.org/W3015096137","https://openalex.org/W3101745982","https://openalex.org/W3106160745","https://openalex.org/W4235077482","https://openalex.org/W4236920560","https://openalex.org/W4237428230"],"related_works":["https://openalex.org/W4376155396","https://openalex.org/W2971351794","https://openalex.org/W1947085858","https://openalex.org/W2101991911","https://openalex.org/W2174986909","https://openalex.org/W2527791220","https://openalex.org/W2155070487","https://openalex.org/W4311589891","https://openalex.org/W3123835761","https://openalex.org/W118270247"],"abstract_inverted_index":{"Effect":[0],"handlers":[1,44,91,179],"encourage":[2],"programmers":[3],"to":[4,30,60,103,146,177],"abstract":[5],"over":[6,86],"repeated":[7],"patterns":[8],"of":[9,14,54,70,77,118,132,195],"complex":[10],"control":[11,93],"flow.":[12],"As":[13],"today,":[15],"this":[16,26,55,140,186],"abstraction":[17,32],"comes":[18],"at":[19],"a":[20,40,58,116,151,158],"significant":[21,84],"price":[22],"in":[23,45,64,106,181,193],"performance.":[24],"In":[25],"paper,":[27],"we":[28,122,142,189],"aim":[29],"achieve":[31],"without":[33],"regret":[34],"for":[35,42,120,161],"effect":[36,43,90,134,178],"handlers.":[37],"We":[38,113,156],"present":[39,157],"language":[41,56,108],"_capability-passing":[46],"style_":[47],"(\u03bb":[48],"Cap":[49,145,149,164],")":[50],"and":[51,80,100,128,169],"an":[52],"implementation":[53,96],"as":[57],"translation":[59,160,188],"simply-typed":[61],"lambda":[62],"calculus":[63],"_iterated":[65],"continuation-passing":[66],"style_.":[67],"A":[68],"suite":[69],"benchmarks":[71],"indicates":[72],"that":[73,109,165,171],"the":[74,126,133,182,196],"novel":[75],"combination":[76],"capability-passing":[78],"style":[79],"iterated":[81],"CPS":[82],"enables":[83],"speedups":[85,192],"existing":[87],"languages":[88],"with":[89,150],"or":[92,174],"operators.":[94],"Our":[95],"technique":[97],"is":[98],"general":[99],"allows":[101],"us":[102],"generate":[104],"code":[105],"any":[107],"supports":[110],"first-class":[111],"functions.":[112],"then":[114],"identify":[115],"subset":[117],"programs":[119],"which":[121],"can":[123],"further":[124],"improve":[125],"performance":[127],"guarantee":[129],"full":[130],"elimination":[131],"handler":[135],"abstraction.":[136],"To":[137],"formally":[138],"capture":[139],"subset,":[141],"refine":[143],"\u03bb":[144,147,148,162,163],"more":[152],"restrictive":[153],"type":[154],"system.":[155],"type-directed":[159],"inserts":[166],"staging":[167],"annotations":[168],"prove":[170],"no":[172],"abstractions":[173],"applications":[175],"related":[176],"occur":[180],"translated":[183],"program.":[184],"Using":[185],"second":[187],"observe":[190],"additional":[191],"some":[194],"benchmarks.":[197]},"counts_by_year":[{"year":2026,"cited_by_count":1},{"year":2025,"cited_by_count":2},{"year":2024,"cited_by_count":3},{"year":2023,"cited_by_count":3},{"year":2022,"cited_by_count":4},{"year":2021,"cited_by_count":9},{"year":2020,"cited_by_count":1}],"updated_date":"2026-05-21T06:26:12.895304","created_date":"2025-10-10T00:00:00"}
