DIRECT STYLE SCALA
summary
Scala now ships boundary/break in Scala 3.3 as an efficient non‑local return primitive; on top of that designs implement suspensions (limited continuations) with suspend/resume semantics, enabling generators, algebraic effects and resumable exceptions. A straw‑man low‑level concurrency library exposes an async capability, async sources that unify futures and channels, and structured concurrency with cancellation, plus zip/either/select operators. Implementations target JVM virtual threads (Project Loom), Scala Native delimited continuations, and bytecode/source rewriting; prototypes run and demonstrate the model.
AI-written summary · about
chapters (19)
- 0:00Direct style Scala intro
- 1:04Rise of async programming
- 2:28Direct style vs monadic libs
- 3:51Building direct style stack
- 5:16Introducing boundary break
- 8:32Efficient boundary break impl
- 10:17Flexible error handling
- 13:27Suspensions and continuations
- 15:56Algebraic effects with suspensions
- 19:49Summary of algebraic effects
- 20:53Implementing continuations
- 21:37Monads vs continuations
- 23:03Universal lightweight concurrency
- 25:31Straw man concurrency design
- 26:55Futures in new model
- 28:18Async sources and composition
- 30:24Why futures and channels fit
- 31:46Error handling in new futures
- 33:11Conclusion and future








