All Topics
All Topics
Technology
Technology
Design
Design
Programming
Programming
Science
Science
News
News
Gaming
Gaming
Entertainment
Entertainment
Business
Business
Finance
Finance
Sports
Sports
Health
Health
Food
Food
Travel
Travel
Art
Art
Music
Music
Books
Books
Education
Education
Politics
Politics
Personal
Personal
No algorithm. No AI slop. No ads. Just RSS. Pro-human. Indie writers. Real journalism. Open web. Chronological. Hand toasted.

Effect Systems: A Better Alternative to Async Programming for Managing Side Effects

By

marvinborner

2mo ago· 24 min readenInsight

Summary

The article explores the concept of effect systems in programming, arguing that traditional async programming models are flawed and that effect systems provide a better abstraction for handling side effects like I/O, errors, and state. The author explains that functions are social constructs and that effect systems allow programmers to explicitly declare and manage computational effects, making code more predictable and maintainable. The piece serves as an introduction to effect systems for programmers familiar with async/await patterns.

Key quotes

· 5 pulled
Functions don't exist. They're made up. They're a social construct.
Your CPU doesn't know or care what functions are, they're purely a book-keeping abstraction that makes it easier for you to reason about your code.
Effect systems let you declare what your code does, not just how it does it.
Async programming is just @Inject time - it's about managing effects at the right time.
I want effects now. So here's what I wished I could have read a few weeks ago.
Snippet from the RSS feed
All I really wanted to do was learn a little bit more about different models for error handling, but then I kept seeing “effects” and “effect systems” mentioned, and after reading about Koka and Effekt I think I’ve been converted. I want effects now. So h

You might also wanna read