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...

Celý popis

Uloženo v:
Podrobná bibliografie
Vydáno v:Proceedings of ACM on programming languages Ročník 8; číslo PLDI; s. 394 - 416
Hlavní autoři: Lutze, Matthew, Madsen, Magnus
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.2996151
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 (ISSN International Center)
  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/eLvHCXMwtV07T8MwELbKY2DhjSgveUBsgSR26pitKiCQWtQBJCaqxHYQEoQKSlUx8Ns5x3YSChIwsESJdU4qf8nd-frdHUL7LI0IhW2Ax2WmPCqTxIthDwbfVRSL0AcL6BeJwl12eRnf3PB-o3HrcmHGDyzP48mED_8VahgDsHXq7B_gLm8KA3AOoMMRYIfjr4B3Cw6epClNXJDeznThS50l1U51cEMYApzmGBohTVXuG67Wo7Nm1mftlzauoH20Oz39D8OwEi6DnqV_3n0dvZmQt2knXsW9pY349JK7_HPMIaSaGxX6lWoKKYu8gJrc5kP1zZjVrXHtFep3Ty5qqpKY5sbW6lKTcflVoVNd-4KA10lMJ8XPJbOnTFlJMDTp1tHATpxBcyGLuKb89d5rMThOaFw0myt_vMmr1nOP7FzttojHmttS8z-ultGi3TjgtgF8BTVUvoqWXFMObHX0GupU-GOL_zF26OM6-hjQxyX6uIb-Oro-O73qnHu2U4aXhIyNPEYUE4TQLJAUvr0Wy-AyilJwDglNdZCP86QlZOonXHEplJQ-kxloYCFbspWSDTSbP-VqE2EhQgk6PU51ikeQxDwQvmIRjMosC3zSRKuwHIOhqYXiFriJDtzyDIQtLq97nDwMppBowhOcoLvHlMjWzyLbaKF6LXfQ7Oj5Ve2ieTEe3b887xUgfwBZWWXm
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.issn=2475-1421&rft.eissn=2475-1421&rft.volume=8&rft.issue=PLDI&rft.spage=394&rft.epage=416&rft_id=info:doi/10.1145%2F3656393&rft.externalDBID=n%2Fa&rft.externalDocID=10_1145_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