{"id":"https://openalex.org/W3045524630","doi":"https://doi.org/10.1017/s0956796820000106","title":"Generalized monoidal effects and handlers","display_name":"Generalized monoidal effects and handlers","publication_year":2020,"publication_date":"2020-01-01","ids":{"openalex":"https://openalex.org/W3045524630","doi":"https://doi.org/10.1017/s0956796820000106","mag":"3045524630"},"language":"en","primary_location":{"id":"doi:10.1017/s0956796820000106","is_oa":false,"landing_page_url":"https://doi.org/10.1017/s0956796820000106","pdf_url":null,"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":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Journal of Functional Programming","raw_type":"journal-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"green","oa_url":"https://lirias.kuleuven.be/bitstream/123456789/653922/2/submit3.pdf","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5080381739","display_name":"Ruben P. Pieters","orcid":"https://orcid.org/0000-0003-0537-9403"},"institutions":[{"id":"https://openalex.org/I4210115377","display_name":"VIB-KU Leuven Center for Microbiology","ror":"https://ror.org/02bpp8r91","country_code":"BE","type":"facility","lineage":["https://openalex.org/I2802017950","https://openalex.org/I4210115377","https://openalex.org/I99464096"]},{"id":"https://openalex.org/I99464096","display_name":"KU Leuven","ror":"https://ror.org/05f950310","country_code":"BE","type":"education","lineage":["https://openalex.org/I99464096"]}],"countries":["BE"],"is_corresponding":true,"raw_author_name":"RUBEN P. PIETERS","raw_affiliation_strings":["KU Leuven, Leuven, Belgium, (e-mail:","Catholic University of Leuven - Katholieke Universiteit Leuven"],"raw_orcid":"https://orcid.org/0000-0003-0537-9403","affiliations":[{"raw_affiliation_string":"KU Leuven, Leuven, Belgium, (e-mail:","institution_ids":["https://openalex.org/I99464096","https://openalex.org/I4210115377"]},{"raw_affiliation_string":"Catholic University of Leuven - Katholieke Universiteit Leuven","institution_ids":["https://openalex.org/I99464096"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5053982125","display_name":"Exequiel Rivas","orcid":"https://orcid.org/0000-0002-2114-624X"},"institutions":[{"id":"https://openalex.org/I1326498283","display_name":"Institut national de recherche en sciences et technologies du num\u00e9rique","ror":"https://ror.org/02kvxyf05","country_code":"FR","type":"government","lineage":["https://openalex.org/I1326498283"]},{"id":"https://openalex.org/I4210132990","display_name":"State Key Laboratory of Cryptology","ror":"https://ror.org/02pn5rj08","country_code":"CN","type":"government","lineage":["https://openalex.org/I4210132990"]}],"countries":["CN","FR"],"is_corresponding":false,"raw_author_name":"EXEQUIEL RIVAS","raw_affiliation_strings":["Inria, Paris, France, (e-mail:","Programming securely with cryptography"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Inria, Paris, France, (e-mail:","institution_ids":["https://openalex.org/I1326498283"]},{"raw_affiliation_string":"Programming securely with cryptography","institution_ids":["https://openalex.org/I4210132990"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5050247934","display_name":"Tom Schrijvers","orcid":"https://orcid.org/0000-0001-8771-5559"},"institutions":[{"id":"https://openalex.org/I4210115377","display_name":"VIB-KU Leuven Center for Microbiology","ror":"https://ror.org/02bpp8r91","country_code":"BE","type":"facility","lineage":["https://openalex.org/I2802017950","https://openalex.org/I4210115377","https://openalex.org/I99464096"]},{"id":"https://openalex.org/I99464096","display_name":"KU Leuven","ror":"https://ror.org/05f950310","country_code":"BE","type":"education","lineage":["https://openalex.org/I99464096"]}],"countries":["BE"],"is_corresponding":false,"raw_author_name":"TOM SCHRIJVERS","raw_affiliation_strings":["KU Leuven, Leuven, Belgium, (e-mail:","Catholic University of Leuven - Katholieke Universiteit Leuven"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"KU Leuven, Leuven, Belgium, (e-mail:","institution_ids":["https://openalex.org/I99464096","https://openalex.org/I4210115377"]},{"raw_affiliation_string":"Catholic University of Leuven - Katholieke Universiteit Leuven","institution_ids":["https://openalex.org/I99464096"]}]}],"institutions":[],"countries_distinct_count":3,"institutions_distinct_count":3,"corresponding_author_ids":["https://openalex.org/A5080381739"],"corresponding_institution_ids":["https://openalex.org/I4210115377","https://openalex.org/I99464096"],"apc_list":null,"apc_paid":null,"fwci":0.408,"has_fulltext":false,"cited_by_count":4,"citation_normalized_percentile":{"value":0.69594981,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":89,"max":94},"biblio":{"volume":"30","issue":null,"first_page":null,"last_page":null},"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.9995999932289124,"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.9995999932289124,"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.9894000291824341,"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/T11010","display_name":"Logic, Reasoning, and Knowledge","score":0.9876999855041504,"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.8266407251358032},{"id":"https://openalex.org/keywords/reuse","display_name":"Reuse","score":0.6906658411026001},{"id":"https://openalex.org/keywords/context","display_name":"Context (archaeology)","score":0.6719830632209778},{"id":"https://openalex.org/keywords/computation","display_name":"Computation","score":0.6569985151290894},{"id":"https://openalex.org/keywords/interpretation","display_name":"Interpretation (philosophy)","score":0.6422252058982849},{"id":"https://openalex.org/keywords/scope","display_name":"Scope (computer science)","score":0.5801462531089783},{"id":"https://openalex.org/keywords/functor","display_name":"Functor","score":0.5499241352081299},{"id":"https://openalex.org/keywords/semantics","display_name":"Semantics (computer science)","score":0.534722626209259},{"id":"https://openalex.org/keywords/monad","display_name":"Monad (category theory)","score":0.5191066265106201},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.5085359811782837},{"id":"https://openalex.org/keywords/algebraic-number","display_name":"Algebraic number","score":0.4733443558216095},{"id":"https://openalex.org/keywords/monoidal-category","display_name":"Monoidal category","score":0.4241974353790283},{"id":"https://openalex.org/keywords/structuring","display_name":"Structuring","score":0.42196884751319885},{"id":"https://openalex.org/keywords/algebra-over-a-field","display_name":"Algebra over a field","score":0.42041298747062683},{"id":"https://openalex.org/keywords/syntax","display_name":"Syntax","score":0.4127243161201477},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.3796764016151428},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.17212045192718506},{"id":"https://openalex.org/keywords/mathematics","display_name":"Mathematics","score":0.1663176715373993},{"id":"https://openalex.org/keywords/pure-mathematics","display_name":"Pure mathematics","score":0.12012264132499695}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8266407251358032},{"id":"https://openalex.org/C206588197","wikidata":"https://www.wikidata.org/wiki/Q846574","display_name":"Reuse","level":2,"score":0.6906658411026001},{"id":"https://openalex.org/C2779343474","wikidata":"https://www.wikidata.org/wiki/Q3109175","display_name":"Context (archaeology)","level":2,"score":0.6719830632209778},{"id":"https://openalex.org/C45374587","wikidata":"https://www.wikidata.org/wiki/Q12525525","display_name":"Computation","level":2,"score":0.6569985151290894},{"id":"https://openalex.org/C527412718","wikidata":"https://www.wikidata.org/wiki/Q855395","display_name":"Interpretation (philosophy)","level":2,"score":0.6422252058982849},{"id":"https://openalex.org/C2778012447","wikidata":"https://www.wikidata.org/wiki/Q1034415","display_name":"Scope (computer science)","level":2,"score":0.5801462531089783},{"id":"https://openalex.org/C156772000","wikidata":"https://www.wikidata.org/wiki/Q864475","display_name":"Functor","level":2,"score":0.5499241352081299},{"id":"https://openalex.org/C184337299","wikidata":"https://www.wikidata.org/wiki/Q1437428","display_name":"Semantics (computer science)","level":2,"score":0.534722626209259},{"id":"https://openalex.org/C33959348","wikidata":"https://www.wikidata.org/wiki/Q1630568","display_name":"Monad (category theory)","level":3,"score":0.5191066265106201},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.5085359811782837},{"id":"https://openalex.org/C9376300","wikidata":"https://www.wikidata.org/wiki/Q168817","display_name":"Algebraic number","level":2,"score":0.4733443558216095},{"id":"https://openalex.org/C2779904274","wikidata":"https://www.wikidata.org/wiki/Q1945014","display_name":"Monoidal category","level":2,"score":0.4241974353790283},{"id":"https://openalex.org/C2775945657","wikidata":"https://www.wikidata.org/wiki/Q381442","display_name":"Structuring","level":2,"score":0.42196884751319885},{"id":"https://openalex.org/C136119220","wikidata":"https://www.wikidata.org/wiki/Q1000660","display_name":"Algebra over a field","level":2,"score":0.42041298747062683},{"id":"https://openalex.org/C60048249","wikidata":"https://www.wikidata.org/wiki/Q37437","display_name":"Syntax","level":2,"score":0.4127243161201477},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.3796764016151428},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.17212045192718506},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.1663176715373993},{"id":"https://openalex.org/C202444582","wikidata":"https://www.wikidata.org/wiki/Q837863","display_name":"Pure mathematics","level":1,"score":0.12012264132499695},{"id":"https://openalex.org/C10138342","wikidata":"https://www.wikidata.org/wiki/Q43015","display_name":"Finance","level":1,"score":0.0},{"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/C18903297","wikidata":"https://www.wikidata.org/wiki/Q7150","display_name":"Ecology","level":1,"score":0.0},{"id":"https://openalex.org/C162324750","wikidata":"https://www.wikidata.org/wiki/Q8134","display_name":"Economics","level":0,"score":0.0},{"id":"https://openalex.org/C86803240","wikidata":"https://www.wikidata.org/wiki/Q420","display_name":"Biology","level":0,"score":0.0},{"id":"https://openalex.org/C151730666","wikidata":"https://www.wikidata.org/wiki/Q7205","display_name":"Paleontology","level":1,"score":0.0}],"mesh":[],"locations_count":3,"locations":[{"id":"doi:10.1017/s0956796820000106","is_oa":false,"landing_page_url":"https://doi.org/10.1017/s0956796820000106","pdf_url":null,"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":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Journal of Functional Programming","raw_type":"journal-article"},{"id":"pmh:oai:HAL:hal-03112837v1","is_oa":false,"landing_page_url":"https://inria.hal.science/hal-03112837","pdf_url":null,"source":{"id":"https://openalex.org/S4306402512","display_name":"HAL (Le Centre pour la Communication Scientifique Directe)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I1294671590","host_organization_name":"Centre National de la Recherche Scientifique","host_organization_lineage":["https://openalex.org/I1294671590"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"Journal of Functional Programming, 2020, 30, &#x27E8;10.1017/S0956796820000106&#x27E9;","raw_type":"Journal articles"},{"id":"pmh:oai:lirias2repo.kuleuven.be:123456789/653922","is_oa":true,"landing_page_url":"https://lirias.kuleuven.be/bitstream/123456789/653922/2/submit3.pdf","pdf_url":null,"source":{"id":"https://openalex.org/S4306401954","display_name":"Lirias (KU Leuven)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I99464096","host_organization_name":"KU Leuven","host_organization_lineage":["https://openalex.org/I99464096"],"host_organization_lineage_names":[],"type":"repository"},"license":"other-oa","license_id":"https://openalex.org/licenses/other-oa","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"Journal Of Functional Programming, vol. 30, Art.No. e23","raw_type":"info:eu-repo/semantics/publishedVersion"}],"best_oa_location":{"id":"pmh:oai:lirias2repo.kuleuven.be:123456789/653922","is_oa":true,"landing_page_url":"https://lirias.kuleuven.be/bitstream/123456789/653922/2/submit3.pdf","pdf_url":null,"source":{"id":"https://openalex.org/S4306401954","display_name":"Lirias (KU Leuven)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I99464096","host_organization_name":"KU Leuven","host_organization_lineage":["https://openalex.org/I99464096"],"host_organization_lineage_names":[],"type":"repository"},"license":"other-oa","license_id":"https://openalex.org/licenses/other-oa","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"Journal Of Functional Programming, vol. 30, Art.No. e23","raw_type":"info:eu-repo/semantics/publishedVersion"},"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":34,"referenced_works":["https://openalex.org/W1572231946","https://openalex.org/W1830421783","https://openalex.org/W1966725513","https://openalex.org/W1997143185","https://openalex.org/W2007435074","https://openalex.org/W2064138295","https://openalex.org/W2073001576","https://openalex.org/W2099741881","https://openalex.org/W2103711664","https://openalex.org/W2106742806","https://openalex.org/W2116435685","https://openalex.org/W2116813111","https://openalex.org/W2127956576","https://openalex.org/W2148238464","https://openalex.org/W2171022981","https://openalex.org/W2184230987","https://openalex.org/W2250270048","https://openalex.org/W2295914203","https://openalex.org/W2404388801","https://openalex.org/W2501393023","https://openalex.org/W2513970686","https://openalex.org/W2561708922","https://openalex.org/W2791446013","https://openalex.org/W2844813568","https://openalex.org/W2887977945","https://openalex.org/W2958869096","https://openalex.org/W2963187563","https://openalex.org/W2963683507","https://openalex.org/W3100888395","https://openalex.org/W3103594074","https://openalex.org/W3104936375","https://openalex.org/W6634258721","https://openalex.org/W6749163934","https://openalex.org/W6766302355"],"related_works":["https://openalex.org/W2738383450","https://openalex.org/W4382765585","https://openalex.org/W4287663723","https://openalex.org/W2467819319","https://openalex.org/W2071463650","https://openalex.org/W3087126312","https://openalex.org/W4387799810","https://openalex.org/W2953146877","https://openalex.org/W1797595249","https://openalex.org/W4226521615"],"abstract_inverted_index":{"Abstract":[0],"Algebraic":[1],"effects":[2,12,39,51],"and":[3,17,52,64,98,114,136],"handlers":[4,32,53,97],"are":[5,40,130],"a":[6,127,133,140],"convenient":[7],"method":[8],"for":[9,104],"structuring":[10],"monadic":[11,41,110],"with":[13,109],"primitive":[14],"effectful":[15],"operations":[16],"separating":[18],"the":[19,22,28,47,75,94,120,148],"syntax":[20],"from":[21,54,79],"interpretation":[23,138],"of":[24,30,49,96,122,150],"these":[25,116],"operations.":[26],"However,":[27],"scope":[29],"conventional":[31],"is":[33,145],"limited":[34],"as":[35,66,68,139],"not":[36],"all":[37],"side":[38],"in":[42,119,126],"nature.":[43],"This":[44,142],"paper":[45],"generalizes":[46],"notion":[48],"algebraic":[50],"monads":[55],"to":[56,82],"generalized":[57],"monoids,":[58],"which":[59],"notably":[60],"covers":[61],"applicative":[62,107],"functors":[63,92],"arrows":[65],"well":[67],"monads.":[69],"For":[70],"this":[71],"purpose,":[72],"we":[73,87],"switch":[74],"category":[76],"theoretical":[77],"basis":[78],"free":[80,83,134],"algebras":[81],"monoids.":[84],"In":[85],"addition,":[86],"show":[88],"how":[89],"lax":[90],"monoidal":[91],"enable":[93],"reuse":[95],"programs":[99],"across":[100],"different":[101],"computation":[102,135],"classes,":[103],"example,":[105],"handling":[106],"computations":[108],"handlers.":[111],"We":[112],"motivate":[113],"present":[115],"handler":[117],"interfaces":[118],"context":[121],"build":[123,128],"systems.":[124],"Tasks":[125],"system":[129],"represented":[131],"by":[132],"their":[137],"handler.":[141],"use":[143],"case":[144],"based":[146],"on":[147],"work":[149],"Mokhov":[151],"et":[152],"al.":[153],"[(2018).":[154],"PACMPL":[155],"2":[156],"(ICFP),":[157],"79:1\u201379:29.].":[158]},"counts_by_year":[{"year":2024,"cited_by_count":1},{"year":2023,"cited_by_count":1},{"year":2021,"cited_by_count":1},{"year":2020,"cited_by_count":1}],"updated_date":"2026-05-21T06:26:12.895304","created_date":"2025-10-10T00:00:00"}
