{"id":"https://openalex.org/W3014236027","doi":"https://doi.org/10.1017/s0956796820000027","title":"Effekt: Capability-passing style for type- and effect-safe, extensible effect handlers in Scala","display_name":"Effekt: Capability-passing style for type- and effect-safe, extensible effect handlers in Scala","publication_year":2020,"publication_date":"2020-01-01","ids":{"openalex":"https://openalex.org/W3014236027","doi":"https://doi.org/10.1017/s0956796820000027","mag":"3014236027"},"language":"en","primary_location":{"is_oa":true,"landing_page_url":"https://doi.org/10.1017/s0956796820000027","pdf_url":"https://www.cambridge.org/core/services/aop-cambridge-core/content/view/A19680B18FB74AD95F8D83BC4B097D4F/S0956796820000027a.pdf/div-class-title-effekt-capability-passing-style-for-type-and-effect-safe-extensible-effect-handlers-in-scala-div.pdf","source":{"id":"https://openalex.org/S12266929","display_name":"Journal of Functional Programming","issn_l":"0956-7968","issn":["0956-7968","1469-7653"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310311721","host_organization_name":"Cambridge University Press","host_organization_lineage":["https://openalex.org/P4310311721","https://openalex.org/P4310311702"],"host_organization_lineage_names":["Cambridge University Press","University of Cambridge"],"type":"journal"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true},"type":"article","type_crossref":"journal-article","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"hybrid","oa_url":"https://www.cambridge.org/core/services/aop-cambridge-core/content/view/A19680B18FB74AD95F8D83BC4B097D4F/S0956796820000027a.pdf/div-class-title-effekt-capability-passing-style-for-type-and-effect-safe-extensible-effect-handlers-in-scala-div.pdf","any_repository_has_fulltext":false},"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/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\u00c4USER","raw_affiliation_strings":["University of T\u00fcbingen, T\u00fcbingen, Germany (e-mails:"],"affiliations":[{"raw_affiliation_string":"University of T\u00fcbingen, T\u00fcbingen, Germany (e-mails:","institution_ids":["https://openalex.org/I8087733"]}]},{"author_position":"middle","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, T\u00fcbingen, Germany (e-mails:"],"affiliations":[{"raw_affiliation_string":"University of T\u00fcbingen, T\u00fcbingen, Germany (e-mails:","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, T\u00fcbingen, Germany (e-mails:"],"affiliations":[{"raw_affiliation_string":"University of T\u00fcbingen, T\u00fcbingen, Germany (e-mails:","institution_ids":["https://openalex.org/I8087733"]}]}],"institution_assertions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":2.498,"has_fulltext":false,"cited_by_count":26,"citation_normalized_percentile":{"value":0.999972,"is_in_top_1_percent":true,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":94,"max":95},"biblio":{"volume":"30","issue":null,"first_page":null,"last_page":null},"is_retracted":false,"is_paratext":false,"primary_topic":{"id":"https://openalex.org/T10126","display_name":"Logic, programming, and type systems","score":0.9993,"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.9993,"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/T11424","display_name":"Security and Verification in Computing","score":0.9819,"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.9754,"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"}}],"keywords":[{"id":"https://openalex.org/keywords/scala","display_name":"Scala","score":0.92287236},{"id":"https://openalex.org/keywords/monad","display_name":"Monad (category theory)","score":0.5739226},{"id":"https://openalex.org/keywords/type-safety","display_name":"Type safety","score":0.4717684}],"concepts":[{"id":"https://openalex.org/C109701466","wikidata":"https://www.wikidata.org/wiki/Q460584","display_name":"Scala","level":3,"score":0.92287236},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8703534},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.66184986},{"id":"https://openalex.org/C33959348","wikidata":"https://www.wikidata.org/wiki/Q1630568","display_name":"Monad (category theory)","level":3,"score":0.5739226},{"id":"https://openalex.org/C44779574","wikidata":"https://www.wikidata.org/wiki/Q736866","display_name":"Type safety","level":2,"score":0.4717684},{"id":"https://openalex.org/C101468663","wikidata":"https://www.wikidata.org/wiki/Q1620158","display_name":"Modular design","level":2,"score":0.46966612},{"id":"https://openalex.org/C64543145","wikidata":"https://www.wikidata.org/wiki/Q162942","display_name":"Intersection (aeronautics)","level":2,"score":0.42247882},{"id":"https://openalex.org/C14185376","wikidata":"https://www.wikidata.org/wiki/Q30232","display_name":"Agile software development","level":2,"score":0.41357106},{"id":"https://openalex.org/C115903868","wikidata":"https://www.wikidata.org/wiki/Q80993","display_name":"Software engineering","level":1,"score":0.26591396},{"id":"https://openalex.org/C548217200","wikidata":"https://www.wikidata.org/wiki/Q251","display_name":"Java","level":2,"score":0.11606392},{"id":"https://openalex.org/C156772000","wikidata":"https://www.wikidata.org/wiki/Q864475","display_name":"Functor","level":2,"score":0.103277296},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.0},{"id":"https://openalex.org/C118615104","wikidata":"https://www.wikidata.org/wiki/Q121416","display_name":"Discrete mathematics","level":1,"score":0.0},{"id":"https://openalex.org/C127413603","wikidata":"https://www.wikidata.org/wiki/Q11023","display_name":"Engineering","level":0,"score":0.0},{"id":"https://openalex.org/C146978453","wikidata":"https://www.wikidata.org/wiki/Q3798668","display_name":"Aerospace engineering","level":1,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"is_oa":true,"landing_page_url":"https://doi.org/10.1017/s0956796820000027","pdf_url":"https://www.cambridge.org/core/services/aop-cambridge-core/content/view/A19680B18FB74AD95F8D83BC4B097D4F/S0956796820000027a.pdf/div-class-title-effekt-capability-passing-style-for-type-and-effect-safe-extensible-effect-handlers-in-scala-div.pdf","source":{"id":"https://openalex.org/S12266929","display_name":"Journal of Functional Programming","issn_l":"0956-7968","issn":["0956-7968","1469-7653"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310311721","host_organization_name":"Cambridge University Press","host_organization_lineage":["https://openalex.org/P4310311721","https://openalex.org/P4310311702"],"host_organization_lineage_names":["Cambridge University Press","University of Cambridge"],"type":"journal"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true}],"best_oa_location":{"is_oa":true,"landing_page_url":"https://doi.org/10.1017/s0956796820000027","pdf_url":"https://www.cambridge.org/core/services/aop-cambridge-core/content/view/A19680B18FB74AD95F8D83BC4B097D4F/S0956796820000027a.pdf/div-class-title-effekt-capability-passing-style-for-type-and-effect-safe-extensible-effect-handlers-in-scala-div.pdf","source":{"id":"https://openalex.org/S12266929","display_name":"Journal of Functional Programming","issn_l":"0956-7968","issn":["0956-7968","1469-7653"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310311721","host_organization_name":"Cambridge University Press","host_organization_lineage":["https://openalex.org/P4310311721","https://openalex.org/P4310311702"],"host_organization_lineage_names":["Cambridge University Press","University of Cambridge"],"type":"journal"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true},"sustainable_development_goals":[],"grants":[],"datasets":[],"versions":[],"referenced_works_count":66,"referenced_works":["https://openalex.org/W1513344286","https://openalex.org/W1595243393","https://openalex.org/W1606211906","https://openalex.org/W1830421783","https://openalex.org/W1839902311","https://openalex.org/W1971752790","https://openalex.org/W1980939032","https://openalex.org/W1987421013","https://openalex.org/W1992124283","https://openalex.org/W1999336811","https://openalex.org/W1999643018","https://openalex.org/W2007759294","https://openalex.org/W2048365843","https://openalex.org/W2060662244","https://openalex.org/W2073001576","https://openalex.org/W2080655045","https://openalex.org/W2081893833","https://openalex.org/W2084115964","https://openalex.org/W2084861262","https://openalex.org/W2086744387","https://openalex.org/W2098983494","https://openalex.org/W2109375905","https://openalex.org/W2109518186","https://openalex.org/W2127581079","https://openalex.org/W2129902163","https://openalex.org/W2136696721","https://openalex.org/W2141576692","https://openalex.org/W2150101804","https://openalex.org/W2184230987","https://openalex.org/W2281310552","https://openalex.org/W2293168108","https://openalex.org/W2410807300","https://openalex.org/W2510703714","https://openalex.org/W2520895783","https://openalex.org/W2533631495","https://openalex.org/W2537365228","https://openalex.org/W2537677062","https://openalex.org/W2538456393","https://openalex.org/W2544085948","https://openalex.org/W2561708922","https://openalex.org/W2681262331","https://openalex.org/W2737306518","https://openalex.org/W2744389017","https://openalex.org/W2762412788","https://openalex.org/W2769962266","https://openalex.org/W2772486871","https://openalex.org/W2777452194","https://openalex.org/W2798644064","https://openalex.org/W2890953006","https://openalex.org/W2898223917","https://openalex.org/W2898332157","https://openalex.org/W2899650865","https://openalex.org/W2900081643","https://openalex.org/W2907553500","https://openalex.org/W2911524086","https://openalex.org/W2955613535","https://openalex.org/W2979385842","https://openalex.org/W3015096137","https://openalex.org/W3101155261","https://openalex.org/W3103594074","https://openalex.org/W3106160745","https://openalex.org/W3150939566","https://openalex.org/W4213035808","https://openalex.org/W4232619596","https://openalex.org/W4236920560","https://openalex.org/W646636825"],"related_works":["https://openalex.org/W4249479401","https://openalex.org/W4245204670","https://openalex.org/W4239384405","https://openalex.org/W4210528511","https://openalex.org/W3014311131","https://openalex.org/W2956622304","https://openalex.org/W2295799738","https://openalex.org/W2146069884","https://openalex.org/W2103976549","https://openalex.org/W206809417"],"abstract_inverted_index":{"Abstract":[0],"Effect":[1],"handlers":[2,47],"are":[3],"a":[4,12,33,62],"promising":[5],"way":[6,64],"to":[7,57],"structure":[8],"effectful":[9],"programs":[10],"in":[11,30],"modular":[13],"way.":[14],"We":[15,60,133],"present":[16],"the":[17,41,85,95,124,127,130,138,151,155],"Scala":[18],"library":[19,43,80],"Effekt":[20,39],",":[21],"which":[22,116],"is":[23,40,92],"centered":[24],"around":[25],"capability":[26,89,128],"passing":[27,90],"and":[28,52,72,91,122,147,165],"implemented":[29],"terms":[31],"of":[32,45,65,78,88,98,126,141,150,159],"monad":[34],"for":[35,168],"multi-prompt":[36],"delimited":[37],"continuations.":[38],"first":[42],"implementation":[44],"effect":[46,50,53,67,76,96,120,135,142,163,166],"that":[48],"supports":[49],"safety":[51,68],"polymorphism":[54,167],"without":[55],"resorting":[56],"type-level":[58],"programming.":[59],"describe":[61],"novel":[63],"achieving":[66],"using":[69],"intersection":[70,140,152],"types":[71],"path-dependent":[73],"types.":[74,143],"The":[75],"system":[77,97,158],"our":[79],"design":[81],"fits":[82],"well":[83],"into":[84],"programming":[86],"paradigm":[87],"inspired":[93],"by":[94],"Zhang":[99],"&":[100],"Myers":[101],"(2019,":[102],"Proc.":[103],"ACM":[104],"Program.":[105],"Lang.":[106],"3":[107],"(POPL),":[108],"5:1-5:29).":[109],"Capabilities":[110],"carry":[111],"an":[112,118],"abstract":[113],"type":[114,121,131,157],"member,":[115],"represents":[117],"individual":[119],"reflects":[123],"use":[125],"on":[129],"level.":[132],"represent":[134],"rows":[136],"as":[137],"contravariant":[139],"Handlers":[144],"introduce":[145],"capabilities":[146],"remove":[148],"components":[149],"type.":[153],"Reusing":[154],"existing":[156],"Scala,":[160],"we":[161],"get":[162],"subtyping":[164],"free.":[169]},"cited_by_api_url":"https://api.openalex.org/works?filter=cites:W3014236027","counts_by_year":[{"year":2024,"cited_by_count":5},{"year":2023,"cited_by_count":5},{"year":2022,"cited_by_count":7},{"year":2021,"cited_by_count":3},{"year":2020,"cited_by_count":6}],"updated_date":"2025-01-05T05:37:22.792165","created_date":"2020-04-10"}