{"id":"https://openalex.org/W4399851335","doi":"https://doi.org/10.1145/3656393","title":"Associated Effects: Flexible Abstractions for Effectful Programming","display_name":"Associated Effects: Flexible Abstractions for Effectful Programming","publication_year":2024,"publication_date":"2024-06-20","ids":{"openalex":"https://openalex.org/W4399851335","doi":"https://doi.org/10.1145/3656393"},"language":"en","primary_location":{"id":"doi:10.1145/3656393","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3656393","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/3656393","any_repository_has_fulltext":null},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5017654779","display_name":"Matthew Lutze","orcid":"https://orcid.org/0000-0002-2904-5099"},"institutions":[{"id":"https://openalex.org/I204337017","display_name":"Aarhus University","ror":"https://ror.org/01aj84f44","country_code":"DK","type":"education","lineage":["https://openalex.org/I204337017"]}],"countries":["DK"],"is_corresponding":false,"raw_author_name":"Matthew Lutze","raw_affiliation_strings":["Aarhus University, Aarhus, Denmark"],"raw_orcid":"https://orcid.org/0000-0002-2904-5099","affiliations":[{"raw_affiliation_string":"Aarhus University, Aarhus, Denmark","institution_ids":["https://openalex.org/I204337017"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5034330109","display_name":"Magnus Madsen","orcid":"https://orcid.org/0000-0002-7510-8724"},"institutions":[{"id":"https://openalex.org/I204337017","display_name":"Aarhus University","ror":"https://ror.org/01aj84f44","country_code":"DK","type":"education","lineage":["https://openalex.org/I204337017"]}],"countries":["DK"],"is_corresponding":false,"raw_author_name":"Magnus Madsen","raw_affiliation_strings":["Aarhus University, Aarhus, Denmark"],"raw_orcid":"https://orcid.org/0000-0002-7510-8724","affiliations":[{"raw_affiliation_string":"Aarhus University, Aarhus, Denmark","institution_ids":["https://openalex.org/I204337017"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":[],"corresponding_institution_ids":["https://openalex.org/I204337017"],"apc_list":null,"apc_paid":null,"fwci":1.6081,"has_fulltext":true,"cited_by_count":7,"citation_normalized_percentile":{"value":0.85237383,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":93,"max":99},"biblio":{"volume":"8","issue":"PLDI","first_page":"394","last_page":"416"},"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/T10260","display_name":"Software Engineering Research","score":0.9878000020980835,"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/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9725000262260437,"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/programming-language","display_name":"Programming language","score":0.744279146194458},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.7004203200340271},{"id":"https://openalex.org/keywords/code-refactoring","display_name":"Code refactoring","score":0.6839709281921387},{"id":"https://openalex.org/keywords/data-type","display_name":"Data type","score":0.5956882238388062},{"id":"https://openalex.org/keywords/class","display_name":"Class (philosophy)","score":0.5328854322433472},{"id":"https://openalex.org/keywords/type-safety","display_name":"Type safety","score":0.5230218768119812},{"id":"https://openalex.org/keywords/generic-programming","display_name":"Generic programming","score":0.5194351673126221},{"id":"https://openalex.org/keywords/expressive-power","display_name":"Expressive power","score":0.5186497569084167},{"id":"https://openalex.org/keywords/flexibility","display_name":"Flexibility (engineering)","score":0.5165359377861023},{"id":"https://openalex.org/keywords/functional-programming","display_name":"Functional programming","score":0.49415305256843567},{"id":"https://openalex.org/keywords/type","display_name":"Type (biology)","score":0.468147337436676},{"id":"https://openalex.org/keywords/heap","display_name":"Heap (data structure)","score":0.44983986020088196},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.3462422788143158},{"id":"https://openalex.org/keywords/mathematics","display_name":"Mathematics","score":0.20122641324996948},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.18256166577339172},{"id":"https://openalex.org/keywords/software","display_name":"Software","score":0.08320116996765137}],"concepts":[{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.744279146194458},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.7004203200340271},{"id":"https://openalex.org/C152752567","wikidata":"https://www.wikidata.org/wiki/Q116877","display_name":"Code refactoring","level":3,"score":0.6839709281921387},{"id":"https://openalex.org/C138958017","wikidata":"https://www.wikidata.org/wiki/Q190087","display_name":"Data type","level":2,"score":0.5956882238388062},{"id":"https://openalex.org/C2777212361","wikidata":"https://www.wikidata.org/wiki/Q5127848","display_name":"Class (philosophy)","level":2,"score":0.5328854322433472},{"id":"https://openalex.org/C44779574","wikidata":"https://www.wikidata.org/wiki/Q736866","display_name":"Type safety","level":2,"score":0.5230218768119812},{"id":"https://openalex.org/C7051814","wikidata":"https://www.wikidata.org/wiki/Q1051282","display_name":"Generic programming","level":2,"score":0.5194351673126221},{"id":"https://openalex.org/C195818886","wikidata":"https://www.wikidata.org/wiki/Q5421724","display_name":"Expressive power","level":2,"score":0.5186497569084167},{"id":"https://openalex.org/C2780598303","wikidata":"https://www.wikidata.org/wiki/Q65921492","display_name":"Flexibility (engineering)","level":2,"score":0.5165359377861023},{"id":"https://openalex.org/C42383842","wikidata":"https://www.wikidata.org/wiki/Q193076","display_name":"Functional programming","level":2,"score":0.49415305256843567},{"id":"https://openalex.org/C2777299769","wikidata":"https://www.wikidata.org/wiki/Q3707858","display_name":"Type (biology)","level":2,"score":0.468147337436676},{"id":"https://openalex.org/C134757568","wikidata":"https://www.wikidata.org/wiki/Q274089","display_name":"Heap (data structure)","level":2,"score":0.44983986020088196},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.3462422788143158},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.20122641324996948},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.18256166577339172},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.08320116996765137},{"id":"https://openalex.org/C86803240","wikidata":"https://www.wikidata.org/wiki/Q420","display_name":"Biology","level":0,"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/C105795698","wikidata":"https://www.wikidata.org/wiki/Q12483","display_name":"Statistics","level":1,"score":0.0}],"mesh":[],"locations_count":2,"locations":[{"id":"doi:10.1145/3656393","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3656393","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:pure.atira.dk:openaire/e82851a3-c39f-4392-8928-294eda5797f6","is_oa":true,"landing_page_url":"https://pure.au.dk/portal/en/publications/e82851a3-c39f-4392-8928-294eda5797f6","pdf_url":null,"source":null,"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"Lutze, M & Madsen, M 2024, 'Associated Effects : Flexible Abstractions for Effectful Programming', Proceedings of the ACM on Programming Languages , vol. 8, 163. https://doi.org/10.1145/3656393","raw_type":"info:eu-repo/semantics/article"}],"best_oa_location":{"id":"doi:10.1145/3656393","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3656393","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":42,"referenced_works":["https://openalex.org/W1553136405","https://openalex.org/W1594279870","https://openalex.org/W1830421783","https://openalex.org/W2046137117","https://openalex.org/W2047428963","https://openalex.org/W2059895047","https://openalex.org/W2062090834","https://openalex.org/W2064264121","https://openalex.org/W2068457689","https://openalex.org/W2069858276","https://openalex.org/W2072162091","https://openalex.org/W2087875803","https://openalex.org/W2096973632","https://openalex.org/W2099741881","https://openalex.org/W2104200012","https://openalex.org/W2106852828","https://openalex.org/W2116616150","https://openalex.org/W2152432695","https://openalex.org/W2156426055","https://openalex.org/W2166822586","https://openalex.org/W2184230987","https://openalex.org/W2510703714","https://openalex.org/W2561708922","https://openalex.org/W2563592207","https://openalex.org/W2885689644","https://openalex.org/W2898332157","https://openalex.org/W3014236027","https://openalex.org/W3015096137","https://openalex.org/W3047158069","https://openalex.org/W3101609070","https://openalex.org/W3108199096","https://openalex.org/W4225132403","https://openalex.org/W4235669620","https://openalex.org/W4248577883","https://openalex.org/W4249075482","https://openalex.org/W4251000889","https://openalex.org/W4307731888","https://openalex.org/W4315630772","https://openalex.org/W4379534024","https://openalex.org/W4386317475","https://openalex.org/W4412232227","https://openalex.org/W6948077401"],"related_works":["https://openalex.org/W17694586","https://openalex.org/W1688372159","https://openalex.org/W2523205872","https://openalex.org/W2597112604","https://openalex.org/W2157155332","https://openalex.org/W2412614833","https://openalex.org/W4235669620","https://openalex.org/W1902828588","https://openalex.org/W2168938117","https://openalex.org/W3087634590"],"abstract_inverted_index":{"We":[0,99],"present":[1],"associated":[2,56,101,119,131],"effects,":[3,87,120],"a":[4,41,46],"programming":[5,42,109],"language":[6,43,110],"feature":[7],"that":[8,44,84,92],"enables":[9,138],"type":[10,23,47,52,94,135,144],"classes":[11,95],"to":[12,26,60,117,133,140],"abstract":[13,62,75],"over":[14,63,76],"the":[15,35,107,113],"effects":[16,32,57,102,132],"of":[17,40,106],"their":[18],"function":[19],"signatures,":[20],"allowing":[21],"each":[22],"class":[24,145],"instance":[25],"specify":[27],"its":[28,123,152],"concrete":[29],"effects.":[30,98],"Associated":[31],"significantly":[33,121],"increase":[34],"flexibility":[36,124],"and":[37,48,65,80,88,111,125,151],"expressive":[38,126],"power":[39],"combines":[45],"effect":[49],"system":[50],"with":[51,96],"classes.":[53],"In":[54],"particular,":[55],"allow":[58],"us":[59,139],"(i)":[61],"total":[64],"partial":[66,69],"functions,":[67],"where":[68],"functions":[70],"may":[71],"throw":[72],"exceptions,":[73],"(ii)":[74],"immutable":[77],"data":[78,82],"structures":[79,83],"mutable":[81],"have":[85],"heap":[86],"(iii)":[89],"implement":[90,100],"adaptors":[91],"combine":[93],"algebraic":[97],"as":[103],"an":[104],"extension":[105],"Flix":[108,114],"refactor":[112],"Standard":[115],"Library":[116],"use":[118],"increasing":[122],"power.":[127],"Specifically,":[128],"we":[129],"add":[130,141],"11":[134],"classes,":[136],"which":[137],"28":[142],"new":[143],"instances.":[146],"CCS":[147],"Concepts:":[148],"\u2022":[149],"Software":[150],"engineering":[153],"\u2192":[154],"Language":[155],"features":[156],".":[157]},"counts_by_year":[{"year":2026,"cited_by_count":1},{"year":2025,"cited_by_count":6}],"updated_date":"2026-09-01T08:31:24.195828","created_date":"2025-10-10T00:00:00"}
