Rage Against the (Plurality of) Effect Systems
Briefly

Rage Against the (Plurality of) Effect Systems
"Effect systems are great. I genuinely love working with effect systems and structured concurrency. Writing parallel programs safely, reasoning about code with referential transparency, knowing at a glance which functions are effectful and which aren't - these things make my daily work better in ways that are hard to give up once you've had them."
"Effect systems are maximally infectious. This problem isn't as significant for more isolated and specialized libraries - you can pick one of five JSON libraries, and its presence won't bleed into much of your code. But effect systems pervade everything. Every signature, every de[pendency spreads the effect system throughout the entire codebase]."
Effect systems and structured concurrency offer significant advantages for writing safe parallel programs with referential transparency and clear identification of effectful functions. Libraries like ZIO, Kyo, and direct-style alternatives have made meaningful improvements in ergonomics and extensibility. However, these benefits come with secondary systemic effects that cannot be ignored. Effect systems are maximally infectious, permeating every function signature and spreading throughout entire codebases, unlike isolated libraries such as JSON parsers. This pervasive nature creates challenges that extend beyond individual contributor intentions, affecting the broader ecosystem despite everyone's best efforts.
Read at Medium
Unable to calculate read time
[
|
]