{"id":"https://openalex.org/W4406222234","doi":"https://doi.org/10.1145/3704841","title":"Affect: An Affine Type and Effect System","display_name":"Affect: An Affine Type and Effect System","publication_year":2025,"publication_date":"2025-01-07","ids":{"openalex":"https://openalex.org/W4406222234","doi":"https://doi.org/10.1145/3704841"},"language":"en","primary_location":{"id":"doi:10.1145/3704841","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3704841","pdf_url":null,"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://doi.org/10.1145/3704841","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5047450455","display_name":"Orpheas van Rooij","orcid":"https://orcid.org/0009-0009-7780-4772"},"institutions":[{"id":"https://openalex.org/I145872427","display_name":"Radboud University Nijmegen","ror":"https://ror.org/016xsfp80","country_code":"NL","type":"education","lineage":["https://openalex.org/I145872427"]},{"id":"https://openalex.org/I98677209","display_name":"University of Edinburgh","ror":"https://ror.org/01nrxwf90","country_code":"GB","type":"education","lineage":["https://openalex.org/I98677209"]}],"countries":["GB","NL"],"is_corresponding":false,"raw_author_name":"Orpheas van Rooij","raw_affiliation_strings":["Radboud University Nijmegen, Nijmegen, Netherlands","University of Edinburgh, Edinburgh, UK"],"raw_orcid":"https://orcid.org/0009-0009-7780-4772","affiliations":[{"raw_affiliation_string":"Radboud University Nijmegen, Nijmegen, Netherlands","institution_ids":["https://openalex.org/I145872427"]},{"raw_affiliation_string":"University of Edinburgh, Edinburgh, UK","institution_ids":["https://openalex.org/I98677209"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5029418370","display_name":"Robbert Krebbers","orcid":"https://orcid.org/0000-0002-1185-5237"},"institutions":[{"id":"https://openalex.org/I145872427","display_name":"Radboud University Nijmegen","ror":"https://ror.org/016xsfp80","country_code":"NL","type":"education","lineage":["https://openalex.org/I145872427"]}],"countries":["NL"],"is_corresponding":false,"raw_author_name":"Robbert Krebbers","raw_affiliation_strings":["Radboud University Nijmegen, Nijmegen, Netherlands"],"raw_orcid":"https://orcid.org/0000-0002-1185-5237","affiliations":[{"raw_affiliation_string":"Radboud University Nijmegen, Nijmegen, Netherlands","institution_ids":["https://openalex.org/I145872427"]}]}],"institutions":[],"countries_distinct_count":2,"institutions_distinct_count":2,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":8.7939,"has_fulltext":true,"cited_by_count":5,"citation_normalized_percentile":{"value":0.97044866,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":96,"max":99},"biblio":{"volume":"9","issue":"POPL","first_page":"126","last_page":"154"},"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.9987999796867371,"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.9987999796867371,"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/T11241","display_name":"Advanced Malware Detection Techniques","score":0.9835000038146973,"subfield":{"id":"https://openalex.org/subfields/1711","display_name":"Signal Processing"},"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.9796000123023987,"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"}}],"keywords":[{"id":"https://openalex.org/keywords/affect","display_name":"Affect (linguistics)","score":0.6895765662193298},{"id":"https://openalex.org/keywords/type","display_name":"Type (biology)","score":0.5349588990211487},{"id":"https://openalex.org/keywords/affine-transformation","display_name":"Affine transformation","score":0.48857054114341736},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.330535352230072},{"id":"https://openalex.org/keywords/psychology","display_name":"Psychology","score":0.32246077060699463},{"id":"https://openalex.org/keywords/mathematics","display_name":"Mathematics","score":0.27470862865448},{"id":"https://openalex.org/keywords/communication","display_name":"Communication","score":0.1997079849243164},{"id":"https://openalex.org/keywords/geology","display_name":"Geology","score":0.18167060613632202},{"id":"https://openalex.org/keywords/pure-mathematics","display_name":"Pure mathematics","score":0.14169171452522278}],"concepts":[{"id":"https://openalex.org/C2776035688","wikidata":"https://www.wikidata.org/wiki/Q1606558","display_name":"Affect (linguistics)","level":2,"score":0.6895765662193298},{"id":"https://openalex.org/C2777299769","wikidata":"https://www.wikidata.org/wiki/Q3707858","display_name":"Type (biology)","level":2,"score":0.5349588990211487},{"id":"https://openalex.org/C92757383","wikidata":"https://www.wikidata.org/wiki/Q382497","display_name":"Affine transformation","level":2,"score":0.48857054114341736},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.330535352230072},{"id":"https://openalex.org/C15744967","wikidata":"https://www.wikidata.org/wiki/Q9418","display_name":"Psychology","level":0,"score":0.32246077060699463},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.27470862865448},{"id":"https://openalex.org/C46312422","wikidata":"https://www.wikidata.org/wiki/Q11024","display_name":"Communication","level":1,"score":0.1997079849243164},{"id":"https://openalex.org/C127313418","wikidata":"https://www.wikidata.org/wiki/Q1069","display_name":"Geology","level":0,"score":0.18167060613632202},{"id":"https://openalex.org/C202444582","wikidata":"https://www.wikidata.org/wiki/Q837863","display_name":"Pure mathematics","level":1,"score":0.14169171452522278},{"id":"https://openalex.org/C151730666","wikidata":"https://www.wikidata.org/wiki/Q7205","display_name":"Paleontology","level":1,"score":0.0}],"mesh":[],"locations_count":2,"locations":[{"id":"doi:10.1145/3704841","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3704841","pdf_url":null,"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:repository.ubn.ru.nl:2066/316734","is_oa":true,"landing_page_url":"https://hdl.handle.net/2066/316734","pdf_url":"https://repository.ubn.ru.nl//bitstream/handle/2066/316734/316734.pdf","source":{"id":"https://openalex.org/S4306401067","display_name":"Radboud Repository (Radboud University)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I145872427","host_organization_name":"Radboud University Nijmegen","host_organization_lineage":["https://openalex.org/I145872427"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"","raw_type":"Article / Letter to editor"}],"best_oa_location":{"id":"doi:10.1145/3704841","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3704841","pdf_url":null,"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":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":61,"referenced_works":["https://openalex.org/W46322832","https://openalex.org/W75891272","https://openalex.org/W1495368328","https://openalex.org/W1507881659","https://openalex.org/W1508098446","https://openalex.org/W1508489761","https://openalex.org/W1521014576","https://openalex.org/W1557561422","https://openalex.org/W1760139041","https://openalex.org/W1830421783","https://openalex.org/W1971752790","https://openalex.org/W1980746605","https://openalex.org/W1980939032","https://openalex.org/W1991984504","https://openalex.org/W2007435074","https://openalex.org/W2052822938","https://openalex.org/W2109375905","https://openalex.org/W2142401116","https://openalex.org/W2143661661","https://openalex.org/W2145029935","https://openalex.org/W2147323041","https://openalex.org/W2153297607","https://openalex.org/W2208976468","https://openalex.org/W2338036611","https://openalex.org/W2509578035","https://openalex.org/W2510703714","https://openalex.org/W2561708922","https://openalex.org/W2562833768","https://openalex.org/W2596377803","https://openalex.org/W2744389017","https://openalex.org/W2766220735","https://openalex.org/W2777452194","https://openalex.org/W2779850521","https://openalex.org/W2798644064","https://openalex.org/W2799182172","https://openalex.org/W2885030506","https://openalex.org/W2896434942","https://openalex.org/W2900081643","https://openalex.org/W2901454403","https://openalex.org/W2949330042","https://openalex.org/W2949578585","https://openalex.org/W2966434214","https://openalex.org/W3015096137","https://openalex.org/W3038246809","https://openalex.org/W3039827481","https://openalex.org/W3098769964","https://openalex.org/W3100615663","https://openalex.org/W3103594074","https://openalex.org/W3107145433","https://openalex.org/W3113533517","https://openalex.org/W3122350614","https://openalex.org/W3149432941","https://openalex.org/W3170236839","https://openalex.org/W4229652664","https://openalex.org/W4242423436","https://openalex.org/W4310889358","https://openalex.org/W4384811769","https://openalex.org/W4393978505","https://openalex.org/W4400499766","https://openalex.org/W6601876141","https://openalex.org/W6930565984"],"related_works":["https://openalex.org/W4391375266","https://openalex.org/W2899084033","https://openalex.org/W2748952813","https://openalex.org/W2560936962","https://openalex.org/W2788727012","https://openalex.org/W4388203630","https://openalex.org/W2390279801","https://openalex.org/W2526386912","https://openalex.org/W4391913857","https://openalex.org/W2358668433"],"abstract_inverted_index":{"Effect":[0],"handlers":[1,112],"form":[2],"a":[3,14,95,102,127,219],"powerful":[4],"construct":[5],"that":[6,101,155],"can":[7],"express":[8],"complex":[9],"programming":[10,151],"abstractions.":[11],"They":[12],"are":[13,92,161],"generalisation":[15],"of":[16,22,46,64,141,187,210],"exception":[17],"handlers,":[18],"but":[19],"allow":[20],"resumption":[21],"the":[23,27,139,168,223],"continuation":[24],"from":[25,167],"where":[26],"effect":[28,111,130],"was":[29],"raised.":[30],"Allowing":[31],"continuations":[32,91,157],"to":[33,56,87,108,114,137,146,163,182],"be":[34],"resumed":[35],"at":[36],"most":[37],"once":[38],"(":[39,48],"one-shot":[40,96],")":[41,50],"or":[42,97],"an":[43],"arbitrary":[44],"number":[45],"times":[47],"multi-shot":[49,59,98],"has":[51],"far-reaching":[52],"consequences.":[53],"In":[54],"addition":[55],"performance":[57],"considerations,":[58],"effects":[60,169],"break":[61],"key":[62],"rules":[63],"reasoning":[65],"and":[66,113,129,158,175,197,202,215],"thus":[67],"render":[68],"certain":[69],"standard":[70],"transformation/optimisations":[71],"unsound,":[72],"especially":[73],"in":[74,94,222,228],"languages":[75],"with":[76,149],"mutable":[77],"references":[78,154],"(such":[79,171],"as":[80,153,172],"OCaml":[81],"5).":[82],"It":[83],"is":[84,145,181],"therefore":[85],"desirable":[86],"statically":[88],"track":[89,138],"whether":[90],"used":[93],"discipline,":[99],"so":[100],"compiler":[103],"could":[104],"use":[105,204],"this":[106,123],"information":[107],"efficiently":[109],"implement":[110],"determine":[115],"what":[116],"optimizations":[117],"it":[118],"may":[119],"perform.":[120],"We":[121,191],"address":[122,192],"problem":[124],"by":[125,195],"developing":[126],"type":[128,185,201],"system\u2013called":[131],"Affect":[132,211],"\u2013which":[133],"uses":[134],"affine":[135],"types":[136,205,214],"usage":[140],"continuations.":[142],"A":[143],"challenge":[144,180],"soundly":[147],"deal":[148],"advanced":[150],"features\u2014such":[152],"store":[156],"nested":[159],"continuations\u2014which":[160],"crucial":[162],"support":[164,183],"challenging":[165],"examples":[166],"literature":[170],"control":[173],"inversion":[174],"cooperative":[176],"concurrency":[177],").":[178],"Another":[179],"generic":[184],"signatures":[186],"polymorphic":[188],"effectful":[189],"functions.":[190],"these":[193],"challenges":[194],"using":[196],"extending":[198],"Rust's":[199],"Cell":[200],"Wadler's":[203],".":[206],"To":[207],"prove":[208],"soundness":[209],"we":[212],"model":[213],"judgements":[216],"semantically":[217],"via":[218],"logical":[220],"relation":[221],"Iris":[224],"separation":[225],"logic":[226],"framework":[227],"Coq.":[229]},"counts_by_year":[{"year":2026,"cited_by_count":2},{"year":2025,"cited_by_count":3}],"updated_date":"2026-06-11T09:08:48.828518","created_date":"2025-10-10T00:00:00"}
