Abstracting Effects with Continuations
13 hours ago
- #effect abstraction
- #functional programming
- #continuations
- Continuations abstract over computation details like asynchrony or error handling.
- They allow representing 'before and after' relationships generically across effect types.
- Filinski (1994) showed continuations can express any monad, such as Result or Promise.
- A generic task using continuations separates business logic from effectful fetching.
- Runners (interpreters) implement specific effects like fallible or async computations.
- This approach avoids duplicating logic for different effect combinations.