Associated Effects: Flexible Abstractions for Effectful Programming
We present associated effects, a programming language feature that enables type classes to abstract over the effects of their function signatures, allowing each type class instance to specify its concrete effects. Associated effects significantly increase the flexibility and expressive power of a pr...
Uloženo v:
| Vydáno v: | Proceedings of ACM on programming languages Ročník 8; číslo PLDI; s. 394 - 416 |
|---|---|
| Hlavní autoři: | , |
| Médium: | Journal Article |
| Jazyk: | angličtina |
| Vydáno: |
New York, NY, USA
ACM
20.06.2024
|
| Témata: | |
| ISSN: | 2475-1421, 2475-1421 |
| On-line přístup: | Získat plný text |
| Tagy: |
Přidat tag
Žádné tagy, Buďte první, kdo vytvoří štítek k tomuto záznamu!
|
| Abstract | We present associated effects, a programming language feature that enables type classes to abstract over the effects of their function signatures, allowing each type class instance to specify its concrete effects. Associated effects significantly increase the flexibility and expressive power of a programming language that combines a type and effect system with type classes. In particular, associated effects allow us to (i) abstract over total and partial functions, where partial functions may throw exceptions, (ii) abstract over immutable data structures and mutable data structures that have heap effects, and (iii) implement adaptors that combine type classes with algebraic effects. We implement associated effects as an extension of the Flix programming language and refactor the Flix Standard Library to use associated effects, significantly increasing its flexibility and expressive power. Specifically, we add associated effects to 11 type classes, which enables us to add 28 new type class instances. CCS Concepts: • Software and its engineering → Language features. |
|---|---|
| AbstractList | We present associated effects, a programming language feature that enables type classes to abstract over the effects of their function signatures, allowing each type class instance to specify its concrete effects. Associated effects significantly increase the flexibility and expressive power of a programming language that combines a type and effect system with type classes. In particular, associated effects allow us to (i) abstract over total and partial functions, where partial functions may throw exceptions, (ii) abstract over immutable data structures and mutable data structures that have heap effects, and (iii) implement adaptors that combine type classes with algebraic effects. We implement associated effects as an extension of the Flix programming language and refactor the Flix Standard Library to use associated effects, significantly increasing its flexibility and expressive power. Specifically, we add associated effects to 11 type classes, which enables us to add 28 new type class instances. CCS Concepts: • Software and its engineering → Language features. We present associated effects, a programming language feature that enables type classes to abstract over the effects of their function signatures, allowing each type class instance to specify its concrete effects. Associated effects significantly increase the flexibility and expressive power of a programming language that combines a type and effect system with type classes. In particular, associated effects allow us to (i) abstract over total and partial functions, where partial functions may throw exceptions, (ii) abstract over immutable data structures and mutable data structures that have heap effects, and (iii) implement adaptors that combine type classes with algebraic effects. We implement associated effects as an extension of the Flix programming language and refactor the Flix Standard Library to use associated effects, significantly increasing its flexibility and expressive power. Specifically, we add associated effects to 11 type classes, which enables us to add 28 new type class instances. CCS Concepts: • Software and its engineering → Language features . |
| ArticleNumber | 163 |
| Author | Madsen, Magnus Lutze, Matthew |
| Author_xml | – sequence: 1 givenname: Matthew orcidid: 0000-0002-2904-5099 surname: Lutze fullname: Lutze, Matthew email: mlutze@cs.au.dk organization: Aarhus University, Aarhus, Denmark – sequence: 2 givenname: Magnus orcidid: 0000-0002-7510-8724 surname: Madsen fullname: Madsen, Magnus email: magnusm@cs.au.dk organization: Aarhus University, Aarhus, Denmark |
| BookMark | eNptj0tLAzEUhYNUsNbi3tXsXI3mncbdMLRVKOhC10OeJTIPSSLov3dKRxFxde7hfhz4zsGsH3oHwCWCNwhRdks440SSEzDHVLASUYxmv-4zsEzpFUKIJKErIuegrlIaTFDZ2WLtvTM53RWb1n0E3bqi0ilHZXIY-lT4IU6If2-Lpzjso-q60O8vwKlXbXLLKRfgZbN-ru_L3eP2oa52pcJC5FIQJwwh1CNLGaFc-LEypgkShGqM8UpKxY3VUEknrXHWQmE9hMxYbrkmC3B93DVxSCk637zF0Kn42SDYHPSbSX8kyz-kCVkdNEad0P7DXx15Zbqf0e_nF5eAZQ4 |
| CitedBy_id | crossref_primary_10_1145_3747529 |
| Cites_doi | 10.1145/2500365.2500581 10.1145/3009837.3009897 10.1007/978-3-642-00590-9_7 10.1145/3428222 10.1145/1449764.1449798 10.1145/3009837.3009882 10.1016/0022-0000(78)90014-4 10.4230/LIPICS.ECOOP.2023.18 10.1145/1708016.1708023 10.1017/s0956796811000098 10.1145/512529.512547 10.1145/2976022.2976033 10.1145/3571264 10.1145/3527326 10.1007/3-540-46425-5_15 10.1145/3428193 10.48550/ARXIV.1406.2061 10.1145/2775050.2633368 10.1145/75277.75283 10.1145/73560.73564 10.1017/s0956796820000027 10.1017/s0956796820000039 10.1006/inco.1996.2613 10.1145/3409006 10.1145/3607846 10.1145/3009837.3009872 10.1145/141471.141536 10.1145/949305.949317 10.1145/3450272 10.1145/349214.349230 10.1145/165180.165190 10.1145/1047659.1040306 10.1145/3591256 10.1145/3276481 10.1145/3563304 10.1145/2103786.2103798 10.1002/(sici)1096-9942(199901/03)5:1<35::aid-tapo4>3.0.co;2-4 10.1145/1090189.1086397 10.1017/S0956796897002700 10.2307/1995158 10.1017/S0956796801004233 |
| ContentType | Journal Article |
| Copyright | Owner/Author |
| Copyright_xml | – notice: Owner/Author |
| DBID | AAYXX CITATION |
| DOI | 10.1145/3656393 |
| DatabaseName | CrossRef |
| DatabaseTitle | CrossRef |
| DatabaseTitleList | CrossRef |
| DeliveryMethod | fulltext_linktorsrc |
| Discipline | Computer Science |
| EISSN | 2475-1421 |
| EndPage | 416 |
| ExternalDocumentID | 10_1145_3656393 3656393 |
| GroupedDBID | AAKMM AAYFX ACM AEFXT AEJOY AIKLT AKRVB ALMA_UNASSIGNED_HOLDINGS GUFHI LHSKQ M~E OK1 ROL AAYXX CITATION |
| ID | FETCH-LOGICAL-a277t-73e7c334f1d453467f7c355b31734b222899a6cdb0a9e9dcedd07df005cd6d6b3 |
| ISICitedReferencesCount | 2 |
| ISICitedReferencesURI | http://www.webofscience.com/api/gateway?GWVersion=2&SrcApp=Summon&SrcAuth=ProQuest&DestLinkType=CitingArticles&DestApp=WOS_CPL&KeyUT=001264464100018&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D |
| ISSN | 2475-1421 |
| IngestDate | Sat Nov 29 07:45:10 EST 2025 Tue Nov 18 20:41:49 EST 2025 Mon Jul 07 16:40:27 EDT 2025 |
| IsDoiOpenAccess | true |
| IsOpenAccess | true |
| IsPeerReviewed | true |
| IsScholarly | true |
| Issue | PLDI |
| Keywords | associated effects associated types type functions generic programming ad-hoc polymorphism effect systems type classes |
| Language | English |
| License | This work is licensed under a Creative Commons Attribution International 4.0 License. |
| LinkModel | OpenURL |
| MergedId | FETCHMERGED-LOGICAL-a277t-73e7c334f1d453467f7c355b31734b222899a6cdb0a9e9dcedd07df005cd6d6b3 |
| ORCID | 0000-0002-2904-5099 0000-0002-7510-8724 |
| OpenAccessLink | https://dl.acm.org/doi/10.1145/3656393 |
| PageCount | 23 |
| ParticipantIDs | crossref_primary_10_1145_3656393 crossref_citationtrail_10_1145_3656393 acm_primary_3656393 |
| PublicationCentury | 2000 |
| PublicationDate | 2024-06-20 |
| PublicationDateYYYYMMDD | 2024-06-20 |
| PublicationDate_xml | – month: 06 year: 2024 text: 2024-06-20 day: 20 |
| PublicationDecade | 2020 |
| PublicationPlace | New York, NY, USA |
| PublicationPlace_xml | – name: New York, NY, USA |
| PublicationTitle | Proceedings of ACM on programming languages |
| PublicationTitleAbbrev | ACM PACMPL |
| PublicationYear | 2024 |
| Publisher | ACM |
| Publisher_xml | – name: ACM |
| References | (bib24) 2000; 22 (bib34) 2004; 5 (bib39) 2004 (bib41) 1997; 132 (bib14) 2002 (bib8) 2020; 30 (bib15) 2016 (bib29) 2020; 4 (bib35) 2014; 49 (bib23) 2017 (bib4) 2013 (bib32) 1978; 17 (bib12) 2003 (bib17) 2022; 6 (bib21) 2023 (bib19) 1999 (bib31) 2023 (bib25) 2012 (bib37) 2022; 6 (bib13) 2021; 43 (bib42) 2010 (bib16) 1969 (bib44) 1989 (bib1) 1997; 7 (bib10) 2002; 12 (bib22) 2014 (bib36) 2020; 4 (bib2) 2018; 2 (bib26) 2017 (bib6) 2005a; 40 (bib9) 1984 (bib20) 2000 (bib40) 2023; 7 (bib3) 2020; 30 (bib18) 1993 (bib27) 1988 (bib5) 2005b; 40 (bib7) 1992 (bib30) 2020; 4 (bib33) 2008 (bib43) 2011; 21 (bib38) 1997 (bib28) 2023; 7 (bib11) 2023; 7 e_1_3_1_22_1 e_1_3_1_44_1 e_1_3_1_23_1 e_1_3_1_45_1 e_1_3_1_24_1 e_1_3_1_25_1 e_1_3_1_9_1 e_1_3_1_8_1 e_1_3_1_41_1 e_1_3_1_20_1 e_1_3_1_42_1 e_1_3_1_21_1 e_1_3_1_43_1 e_1_3_1_5_1 e_1_3_1_4_1 e_1_3_1_7_1 e_1_3_1_6_1 e_1_3_1_26_1 e_1_3_1_27_1 e_1_3_1_3_1 e_1_3_1_28_1 e_1_3_1_2_1 e_1_3_1_29_1 e_1_3_1_10_1 e_1_3_1_33_1 e_1_3_1_34_1 e_1_3_1_35_1 e_1_3_1_36_1 e_1_3_1_14_1 e_1_3_1_13_1 e_1_3_1_30_1 e_1_3_1_12_1 e_1_3_1_31_1 e_1_3_1_11_1 e_1_3_1_32_1 e_1_3_1_18_1 e_1_3_1_17_1 e_1_3_1_16_1 e_1_3_1_15_1 e_1_3_1_37_1 e_1_3_1_38_1 e_1_3_1_39_1 e_1_3_1_19_1 Pottier Frangois (e_1_3_1_40_1) 2004 |
| References_xml | – year: 2013 ident: bib4 article-title: Programming and reasoning with algebraic effects and dependent types publication-title: Proceedings of the 18th ACM SIGPLAN international conference on Functional programming. doi: 10.1145/2500365.2500581 – year: 2017 ident: bib26 article-title: Do be do be do publication-title: Proceedings of the 44th ACM SIGPLAN Symposium on Principles of Programming Languages doi: 10.1145/3009837.3009897 – start-page: 80 year: 1997 end-page: 94 ident: bib38 article-title: Type classes: an exploration of the design space publication-title: Haskell Workshop. Handlers of Algebraic Effects. doi: 10.1007/978-3-642-00590-9_7 – year: 2004 ident: bib39 publication-title: Advanced topics in types and programming languages. – year: 1999 ident: bib19 article-title: Typing Haskell in Haskell publication-title: Haskell Workshop – volume: 4 year: 2020 ident: bib30 article-title: Polymorphic types and effects with Boolean unification publication-title: Proceedings of the ACM on Programming Languages doi: 10.1145/3428222 – year: 2008 ident: bib33 article-title: Generics of a higher kind publication-title: Proceedings of the 23rd ACM SIGPLAN conference on Object-oriented programming systems languages and applications. doi: 10.1145/1449764.1449798 – year: 1984 ident: bib9 article-title: Type assignment in programming languages. Ph. D. Dissertation. The University of Edinburgh. Stephen Dolan and Alan Mycroft publication-title: Proceedings of the 44th ACM SIGPLAN Symposium on Principles of Programming Languages. doi: 10.1145/3009837.3009882 – volume: 17 issue: 3 year: 1978 ident: bib32 article-title: A theory of type polymorphism in programming publication-title: J. Comput. System Sci. doi: 10.1016/0022-0000(78)90014-4 – year: 2023 ident: bib31 article-title: Programming with Purity Reflection: Peaceful Coexistence of Effects, Laziness, and Parallelism publication-title: 37th European Conference on Object-Oriented Programming. doi: 10.4230/LIPICS.ECOOP.2023.18 – year: 2010 ident: bib42 article-title: Let should not be generalized publication-title: Proceedings of the 5th ACM SIGPLAN workshop on Types in language design and implementation. doi: 10.1145/1708016.1708023 – volume: 21 start-page: 4 year: 2011 end-page: 5 ident: bib43 article-title: OutsideIn(X) Modular type inference with local assumptions publication-title: Journal ofFunctional Programming doi: 10.1017/s0956796811000098 – year: 2023 ident: bib21 publication-title: The Rust programming language – year: 2002 ident: bib14 article-title: Combining region inference and garbage collection publication-title: Proceedings of the ACM SIGPLAN 2002 conference on Programming language design and implementation. doi: 10.1145/512529.512547 – year: 1969 ident: bib16 article-title: The principal type-scheme of an object in combinatory logic publication-title: Transactions of the American Mathematical Society (AMS) – year: 2016 ident: bib15 article-title: Liberating effects with rows and handlers publication-title: Proceedings of the 1st International Workshop on Type-Driven Development doi: 10.1145/2976022.2976033 – volume: 7 year: 2023 ident: bib40 article-title: Temporal Verification with Answer-Effect Modification: Dependent Temporal Type-and-Effect System with Delimited Continuations publication-title: Proceedings of the ACM on Programming Languages doi: 10.1145/3571264 – volume: 6 year: 2022 ident: bib17 article-title: Purity of an ST monad: full abstraction by semantically typed back-translation publication-title: Proceedings of the ACM on Programming Languages doi: 10.1145/3527326 – start-page: 230 year: 2000 end-page: 244 ident: bib20 publication-title: Type Classes with Functional Dependencies. doi: 10.1007/3-540-46425-5_15 – volume: 4 year: 2020 ident: bib29 article-title: Fixpoints for the masses: programming with first-class Datalog constraints publication-title: Proceedings of the ACM on Programming Languages doi: 10.1145/3428193 – year: 2014 ident: bib22 article-title: Koka: Programming with Row Polymorphic Effect Types doi: 10.48550/ARXIV.1406.2061 – volume: 49 issue: 12 year: 2014 ident: bib35 article-title: Embedding effect systems in Haskell publication-title: ACM SIGPLANNotices doi: 10.1145/2775050.2633368 – year: 1989 ident: bib44 article-title: How to make ad-hoc polymorphism less ad hoc publication-title: Proceedings of the 16th ACM SIGPLAN-SIGACT symposium on Principles of programming languages - POPL ’89. doi: 10.1145/75277.75283 – year: 1988 ident: bib27 article-title: Polymorphic effect systems publication-title: Proceedings of the 15th ACM SIGPLAN-SIGACT symposium on Principles ofprogramming languages - POPL ‘88 doi: 10.1145/73560.73564 – volume: 30 year: 2020 ident: bib3 article-title: Effekt: Capability-passing style for type- and effect-safe, extensible effect handlers in Scala publication-title: Journal of Functional Programming doi: 10.1017/s0956796820000027 – volume: 30 year: 2020 ident: bib8 article-title: Doo bee doo bee doo publication-title: Journal of Functional Programming doi: 10.1017/s0956796820000039 – volume: 132 issue: 2 year: 1997 ident: bib41 article-title: Region-Based Memory Management publication-title: Information and Computation doi: 10.1006/inco.1996.2613 – volume: 4 year: 2020 ident: bib36 article-title: The simple essence of algebraic subtyping: principal type inference with subtyping made easy (functional pearl) publication-title: Proceedings of the ACM on Programming Languages doi: 10.1145/3409006 – volume: 7 year: 2023 ident: bib28 article-title: With or Without You: Programming with Effect Exclusion publication-title: Proceedings of the ACM on Programming Languages doi: 10.1145/3607846 – year: 2017 ident: bib23 article-title: Type directed compilation of row-typed algebraic effects publication-title: Proceedings of the 44th ACM SIGPLAN Symposium on Principles of Programming Languages doi: 10.1145/3009837.3009872 – year: 1992 ident: bib7 article-title: Parametric type classes publication-title: Proceedings of the 1992 ACM conference on LISP and functional programming. doi: 10.1145/141471.141536 – year: 2003 ident: bib12 article-title: A comparative study of language support for generic programming publication-title: Proceedings of the 18th annual ACM SIGPLAN conference on Object-oriented programing, systems, languages, and applications. doi: 10.1145/949305.949317 – volume: 43 year: 2021 ident: bib13 article-title: Polymorphic Iterable Sequential Effect Systems publication-title: ACM Transactions on Programming Languages and Systems doi: 10.1145/3450272 – volume: 22 issue: 2 year: 2000 ident: bib24 article-title: Type-based analysis of uncaught exceptions publication-title: ACM Transactions on Programming Languages and Systems doi: 10.1145/349214.349230 – year: 1993 ident: bib18 article-title: A system of constructor classes: overloading and implicit higher-order polymorphism publication-title: Proceedings of the conference on Functional programming languages and computer architecture. doi: 10.1145/165180.165190 – volume: 40 issue: 1 year: 2005b ident: bib5 article-title: Associated types with class publication-title: ACM SIGPLAN Notices doi: 10.1145/1047659.1040306 – volume: 7 year: 2023 ident: bib11 article-title: Parallelism in a Region Inference Context publication-title: Proceedings of the ACM on Programming Languages doi: 10.1145/3591256 – volume: 2 year: 2018 ident: bib2 article-title: Effect handlers for the masses publication-title: Proceedings of the ACM on Programming Languages doi: 10.1145/3276481 – volume: 12 issue: 02 year: 2002 ident: bib10 article-title: Type-checking multi-parameter type classes publication-title: Journal of Functional Programming – volume: 6 year: 2022 ident: bib37 article-title: MLstruct: principal type inference in a Boolean algebra of structural types publication-title: Proceedings of the ACM on Programming Languages doi: 10.1145/3563304 – year: 2012 ident: bib25 article-title: Row-based effect types for database integration publication-title: Proceedings of the 8th ACM SIGPLAN workshop on Types in language design and implementation. doi: 10.1145/2103786.2103798 – volume: 5 issue: 1 year: 2004 ident: bib34 article-title: An overview of the Scala programming language publication-title: Theory and Practice of ObjectSystems doi: 10.1002/(sici)1096-9942(199901/03)5:1<35::aid-tapo4>3.0.co;2-4 – volume: 40 issue: 9 year: 2005a ident: bib6 article-title: Associated type synonyms publication-title: ACM SIGPLAN Notices doi: 10.1145/1090189.1086397 – volume: 7 issue: 3 year: 1997 ident: bib1 article-title: Type and behaviour reconstruction for higher-order concurrent programs publication-title: Journal of Functional Programming – ident: e_1_3_1_36_1 doi: 10.1145/2775050.2633368 – ident: e_1_3_1_14_1 doi: 10.1145/3450272 – ident: e_1_3_1_2_1 doi: 10.1017/S0956796897002700 – ident: e_1_3_1_4_1 doi: 10.1017/s0956796820000027 – ident: e_1_3_1_21_1 doi: 10.1007/3-540-46425-5_15 – ident: e_1_3_1_37_1 doi: 10.1145/3409006 – ident: e_1_3_1_24_1 doi: 10.1145/3009837.3009872 – ident: e_1_3_1_41_1 doi: 10.1145/3571264 – ident: e_1_3_1_15_1 doi: 10.1145/512529.512547 – ident: e_1_3_1_19_1 doi: 10.1145/165180.165190 – ident: e_1_3_1_22_1 – ident: e_1_3_1_13_1 doi: 10.1145/949305.949317 – ident: e_1_3_1_16_1 doi: 10.1145/2976022.2976033 – ident: e_1_3_1_9_1 doi: 10.1017/s0956796820000039 – ident: e_1_3_1_39_1 doi: 10.1007/978-3-642-00590-9_7 – volume-title: Advanced topics in types and programming languages. year: 2004 ident: e_1_3_1_40_1 – ident: e_1_3_1_42_1 doi: 10.1006/inco.1996.2613 – ident: e_1_3_1_35_1 doi: 10.1002/(sici)1096-9942(199901/03)5:1<35::aid-tapo4>3.0.co;2-4 – ident: e_1_3_1_38_1 doi: 10.1145/3563304 – ident: e_1_3_1_43_1 doi: 10.1145/1708016.1708023 – ident: e_1_3_1_8_1 doi: 10.1145/141471.141536 – ident: e_1_3_1_26_1 doi: 10.1145/2103786.2103798 – ident: e_1_3_1_30_1 doi: 10.1145/3428193 – ident: e_1_3_1_32_1 doi: 10.4230/LIPICS.ECOOP.2023.18 – ident: e_1_3_1_44_1 doi: 10.1017/s0956796811000098 – ident: e_1_3_1_6_1 doi: 10.1145/1047659.1040306 – ident: e_1_3_1_17_1 doi: 10.2307/1995158 – ident: e_1_3_1_33_1 doi: 10.1016/0022-0000(78)90014-4 – ident: e_1_3_1_28_1 doi: 10.1145/73560.73564 – ident: e_1_3_1_34_1 doi: 10.1145/1449764.1449798 – ident: e_1_3_1_5_1 doi: 10.1145/2500365.2500581 – ident: e_1_3_1_27_1 doi: 10.1145/3009837.3009897 – ident: e_1_3_1_31_1 doi: 10.1145/3428222 – ident: e_1_3_1_25_1 doi: 10.1145/349214.349230 – ident: e_1_3_1_18_1 doi: 10.1145/3527326 – ident: e_1_3_1_10_1 doi: 10.1145/3009837.3009882 – ident: e_1_3_1_11_1 doi: 10.1017/S0956796801004233 – ident: e_1_3_1_45_1 doi: 10.1145/75277.75283 – ident: e_1_3_1_7_1 doi: 10.1145/1090189.1086397 – ident: e_1_3_1_29_1 doi: 10.1145/3607846 – ident: e_1_3_1_20_1 – ident: e_1_3_1_3_1 doi: 10.1145/3276481 – ident: e_1_3_1_12_1 doi: 10.1145/3591256 – ident: e_1_3_1_23_1 doi: 10.48550/ARXIV.1406.2061 |
| SSID | ssj0001934839 |
| Score | 2.2995193 |
| Snippet | We present associated effects, a programming language feature that enables type classes to abstract over the effects of their function signatures, allowing... |
| SourceID | crossref acm |
| SourceType | Enrichment Source Index Database Publisher |
| StartPage | 394 |
| SubjectTerms | Language features Software and its engineering |
| SubjectTermsDisplay | Software and its engineering -- Language features |
| Title | Associated Effects: Flexible Abstractions for Effectful Programming |
| URI | https://dl.acm.org/doi/10.1145/3656393 |
| Volume | 8 |
| WOSCitedRecordID | wos001264464100018&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D |
| hasFullText | 1 |
| inHoldings | 1 |
| isFullTextHit | |
| isPrint | |
| journalDatabaseRights | – providerCode: PRVHPJ databaseName: ROAD: Directory of Open Access Scholarly Resources customDbUrl: eissn: 2475-1421 dateEnd: 99991231 omitProxy: false ssIdentifier: ssj0001934839 issn: 2475-1421 databaseCode: M~E dateStart: 20170101 isFulltext: true titleUrlDefault: https://road.issn.org providerName: ISSN International Centre |
| link | http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwtV05T8MwFLa4BhZuRLnkAbFFpPFLHbNVBQQSRR1AYqt8JAiJhgpahBj47TzHzsExwMAS5XhxJH_Oe19e3kHIgQKRpDzMAnwJWQA60YFCsxfozEAKAMhwk6LZBL-6Sm5vxcB36Xsu2gnwPE9eX8X4X6HGcwi2TZ39A9zVoHgC9xF03CLsuP0V8OWEI5N0pYmLoLczW_jSZkl1lXVuaBcAZ2MMnZANVR64WK1Rac08Zx1UNq4I--j2-vYPw7gWrpyeFT-_nE7enMvbtROv_d7Ge3z68i7_7HOIwMZGRWFjlfg49kJPRcDjoA0u0blUqklj7QwuTy4aOpK5rsbe3IJLtfyuycEWvWBIN5lrofilLLa_MkvmIx4LG8zXf2941wQDpH4uS9qOdeTlLQnRowYJabCJ6xWy5D8DaNfBt0pm0nyNLJctNqjXuOukV6NJPZrHtMSSNrGkiCWtsKQNLDfIzdnpde888H0vAhlxPgk4S7lmDLK2gZjhS5ThYRwrpHoMlHXZCSE72qhQilQYnRoTcpOhPtWmYzqKbZK5_DFPtwiFDHW0FAJkIkHhDTKOpNIKWKgzNHMtsobTMRy7yiZDP0ktclhOz1D7UvG2Y8nD0KWxx7UgrQTLMb6IbP_4hB2yWK-rXTI3eZqme2RBv0zun5_2Cyw_AOQQVSo |
| linkProvider | ISSN International Centre |
| openUrl | ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.atitle=Associated+Effects%3A+Flexible+Abstractions+for+Effectful+Programming&rft.jtitle=Proceedings+of+ACM+on+programming+languages&rft.au=Lutze%2C+Matthew&rft.au=Madsen%2C+Magnus&rft.date=2024-06-20&rft.pub=ACM&rft.eissn=2475-1421&rft.volume=8&rft.issue=PLDI&rft.spage=394&rft.epage=416&rft_id=info:doi/10.1145%2F3656393&rft.externalDocID=3656393 |
| thumbnail_l | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/lc.gif&issn=2475-1421&client=summon |
| thumbnail_m | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/mc.gif&issn=2475-1421&client=summon |
| thumbnail_s | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/sc.gif&issn=2475-1421&client=summon |