{"id":"https://openalex.org/W4214573812","doi":"https://doi.org/10.1007/978-3-030-83128-8_3","title":"What You See Is What You Get: Practical Effect Handlers in Capability-Passing Style","display_name":"What You See Is What You Get: Practical Effect Handlers in Capability-Passing Style","publication_year":2022,"publication_date":"2022-01-01","ids":{"openalex":"https://openalex.org/W4214573812","doi":"https://doi.org/10.1007/978-3-030-83128-8_3"},"language":"en","primary_location":{"id":"doi:10.1007/978-3-030-83128-8_3","is_oa":true,"landing_page_url":"https://doi.org/10.1007/978-3-030-83128-8_3","pdf_url":"https://link.springer.com/content/pdf/10.1007/978-3-030-83128-8_3.pdf","source":null,"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Ernst Denert Award for Software Engineering 2020","raw_type":"book-chapter"},"type":"book-chapter","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"gold","oa_url":"https://link.springer.com/content/pdf/10.1007/978-3-030-83128-8_3.pdf","any_repository_has_fulltext":null},"authorships":[{"author_position":"first","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/I5124864","display_name":"\u00c9cole Polytechnique F\u00e9d\u00e9rale de Lausanne","ror":"https://ror.org/02s376052","country_code":"CH","type":"education","lineage":["https://openalex.org/I2799323385","https://openalex.org/I5124864"]}],"countries":["CH"],"is_corresponding":true,"raw_author_name":"Jonathan Immanuel Brachth\u00e4user","raw_affiliation_strings":["EPFL, Lausanne, Switzerland"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"EPFL, Lausanne, Switzerland","institution_ids":["https://openalex.org/I5124864"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":["https://openalex.org/A5027088540"],"corresponding_institution_ids":["https://openalex.org/I5124864"],"apc_list":null,"apc_paid":null,"fwci":0.0,"has_fulltext":true,"cited_by_count":0,"citation_normalized_percentile":{"value":0.05505581,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":null,"biblio":{"volume":null,"issue":null,"first_page":"15","last_page":"43"},"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.9997000098228455,"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.9997000098228455,"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/T10260","display_name":"Software Engineering Research","score":0.9990000128746033,"subfield":{"id":"https://openalex.org/subfields/1710","display_name":"Information Systems"},"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.9976000189781189,"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/programmer","display_name":"Programmer","score":0.8167628645896912},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.7777533531188965},{"id":"https://openalex.org/keywords/structuring","display_name":"Structuring","score":0.6433859467506409},{"id":"https://openalex.org/keywords/modular-programming","display_name":"Modular programming","score":0.578014612197876},{"id":"https://openalex.org/keywords/programming-style","display_name":"Programming style","score":0.522616446018219},{"id":"https://openalex.org/keywords/mainstream","display_name":"Mainstream","score":0.5094998478889465},{"id":"https://openalex.org/keywords/software","display_name":"Software","score":0.4952072203159332},{"id":"https://openalex.org/keywords/asynchronous-communication","display_name":"Asynchronous communication","score":0.4723469018936157},{"id":"https://openalex.org/keywords/metaprogramming","display_name":"Metaprogramming","score":0.46074071526527405},{"id":"https://openalex.org/keywords/control","display_name":"Control (management)","score":0.44307392835617065},{"id":"https://openalex.org/keywords/control-flow","display_name":"Control flow","score":0.4238026738166809},{"id":"https://openalex.org/keywords/software-engineering","display_name":"Software engineering","score":0.42029935121536255},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.36965256929397583},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.15234920382499695}],"concepts":[{"id":"https://openalex.org/C2778514511","wikidata":"https://www.wikidata.org/wiki/Q1374194","display_name":"Programmer","level":2,"score":0.8167628645896912},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.7777533531188965},{"id":"https://openalex.org/C2775945657","wikidata":"https://www.wikidata.org/wiki/Q381442","display_name":"Structuring","level":2,"score":0.6433859467506409},{"id":"https://openalex.org/C88482812","wikidata":"https://www.wikidata.org/wiki/Q6453666","display_name":"Modular programming","level":2,"score":0.578014612197876},{"id":"https://openalex.org/C2776245389","wikidata":"https://www.wikidata.org/wiki/Q962139","display_name":"Programming style","level":2,"score":0.522616446018219},{"id":"https://openalex.org/C2777617010","wikidata":"https://www.wikidata.org/wiki/Q18957","display_name":"Mainstream","level":2,"score":0.5094998478889465},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.4952072203159332},{"id":"https://openalex.org/C151319957","wikidata":"https://www.wikidata.org/wiki/Q752739","display_name":"Asynchronous communication","level":2,"score":0.4723469018936157},{"id":"https://openalex.org/C35390924","wikidata":"https://www.wikidata.org/wiki/Q661075","display_name":"Metaprogramming","level":2,"score":0.46074071526527405},{"id":"https://openalex.org/C2775924081","wikidata":"https://www.wikidata.org/wiki/Q55608371","display_name":"Control (management)","level":2,"score":0.44307392835617065},{"id":"https://openalex.org/C160191386","wikidata":"https://www.wikidata.org/wiki/Q868299","display_name":"Control flow","level":2,"score":0.4238026738166809},{"id":"https://openalex.org/C115903868","wikidata":"https://www.wikidata.org/wiki/Q80993","display_name":"Software engineering","level":1,"score":0.42029935121536255},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.36965256929397583},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.15234920382499695},{"id":"https://openalex.org/C162324750","wikidata":"https://www.wikidata.org/wiki/Q8134","display_name":"Economics","level":0,"score":0.0},{"id":"https://openalex.org/C27206212","wikidata":"https://www.wikidata.org/wiki/Q34178","display_name":"Theology","level":1,"score":0.0},{"id":"https://openalex.org/C31258907","wikidata":"https://www.wikidata.org/wiki/Q1301371","display_name":"Computer network","level":1,"score":0.0},{"id":"https://openalex.org/C10138342","wikidata":"https://www.wikidata.org/wiki/Q43015","display_name":"Finance","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}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1007/978-3-030-83128-8_3","is_oa":true,"landing_page_url":"https://doi.org/10.1007/978-3-030-83128-8_3","pdf_url":"https://link.springer.com/content/pdf/10.1007/978-3-030-83128-8_3.pdf","source":null,"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Ernst Denert Award for Software Engineering 2020","raw_type":"book-chapter"}],"best_oa_location":{"id":"doi:10.1007/978-3-030-83128-8_3","is_oa":true,"landing_page_url":"https://doi.org/10.1007/978-3-030-83128-8_3","pdf_url":"https://link.springer.com/content/pdf/10.1007/978-3-030-83128-8_3.pdf","source":null,"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Ernst Denert Award for Software Engineering 2020","raw_type":"book-chapter"},"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"grobid_xml":true,"pdf":true},"content_urls":{"pdf":"https://content.openalex.org/works/W4214573812.pdf","grobid_xml":"https://content.openalex.org/works/W4214573812.grobid-xml"},"referenced_works_count":48,"referenced_works":["https://openalex.org/W847838221","https://openalex.org/W1606211906","https://openalex.org/W1644882639","https://openalex.org/W1735825634","https://openalex.org/W1830421783","https://openalex.org/W1992124283","https://openalex.org/W2007435074","https://openalex.org/W2014021676","https://openalex.org/W2043416466","https://openalex.org/W2045255985","https://openalex.org/W2057292961","https://openalex.org/W2086744387","https://openalex.org/W2109375905","https://openalex.org/W2124509807","https://openalex.org/W2129902163","https://openalex.org/W2132114837","https://openalex.org/W2137235328","https://openalex.org/W2293168108","https://openalex.org/W2681262331","https://openalex.org/W2737306518","https://openalex.org/W2761442781","https://openalex.org/W2762412788","https://openalex.org/W2798644064","https://openalex.org/W2890147338","https://openalex.org/W2898223917","https://openalex.org/W2898332157","https://openalex.org/W2899650865","https://openalex.org/W2900081643","https://openalex.org/W2995698344","https://openalex.org/W3006466942","https://openalex.org/W3006963970","https://openalex.org/W3010302451","https://openalex.org/W3010987607","https://openalex.org/W3014236027","https://openalex.org/W3015096137","https://openalex.org/W3039724255","https://openalex.org/W3039827481","https://openalex.org/W3047512562","https://openalex.org/W3101155261","https://openalex.org/W3103594074","https://openalex.org/W3107145433","https://openalex.org/W3109210160","https://openalex.org/W3116245912","https://openalex.org/W4231733625","https://openalex.org/W4232498739","https://openalex.org/W4232769257","https://openalex.org/W4245112274","https://openalex.org/W4249212548"],"related_works":["https://openalex.org/W2786788398","https://openalex.org/W2120421136","https://openalex.org/W2889297400","https://openalex.org/W2140864834","https://openalex.org/W156668154","https://openalex.org/W2117175713","https://openalex.org/W630959083","https://openalex.org/W145687478","https://openalex.org/W142428493","https://openalex.org/W2584604659"],"abstract_inverted_index":{"Abstract":[0],"Structuring":[1],"control":[2,21,132],"flow":[3,22],"is":[4,26],"an":[5,74],"essential":[6],"task":[7],"almost":[8],"every":[9],"programmer":[10],"faces":[11],"on":[12],"a":[13,46,116],"daily":[14],"basis.":[15],"At":[16],"the":[17,20,65,83,86,125],"same":[18],"time,":[19],"of":[23,54,88,119,131],"software":[24,66],"applications":[25],"becoming":[27],"increasingly":[28],"complicated,":[29],"motivating":[30],"languages":[31,95],"to":[32,64,106,115],"include":[33],"more":[34,36],"and":[35,41,96,112],"features":[37,56],"like":[38],"asynchronous":[39],"programming":[40,94],"generators.":[42],"Effect":[43],"handlers":[44,62,90],"are":[45],"promising":[47],"alternative":[48],"since":[49],"they":[50],"can":[51],"express":[52],"many":[53],"these":[55],"as":[57,73],"libraries.":[58],"To":[59],"bring":[60],"effect":[61,78,89,120],"closer":[63],"engineering":[67],"practice,":[68],"we":[69],"present":[70],"capability":[71],"passing":[72,81],"implementation":[75],"technique":[76],"for":[77,85,127],"handlers.":[79],"Capability":[80],"provides":[82],"basis":[84],"integration":[87],"into":[91],"mainstream":[92],"object-oriented":[93],"thereby":[97],"unlocks":[98],"novel":[99],"modularization":[100],"strategies.":[101],"It":[102],"also":[103],"enables":[104],"programmers":[105],"apply":[107],"lexical":[108],"reasoning":[109],"about":[110],"effects":[111],"gives":[113],"rise":[114],"new":[117],"form":[118],"polymorphism.":[121],"Finally,":[122],"it":[123],"paves":[124],"path":[126],"efficient":[128],"compilation":[129],"strategies":[130],"effects.":[133]},"counts_by_year":[],"updated_date":"2026-05-21T06:26:12.895304","created_date":"2025-10-10T00:00:00"}
