Asynchronous and Concurrent Programming in Scala Part 2
summary
Workshop-length, hands-on deep dive into ZIO: how to lift callback APIs (example: Java scheduled executor wrapped with effectAsync and cancel via effectAsyncInterrupt), how fibers, execution traces and sandboxing preserve full causes, how to run effects (unsafeRun), compose retries/schedules (repeat/retry), and use ensuring/bracket for resource safety. Lots of live code transforming imperative callbacks and Futures into ZIO effects, practical interop with Cats Effect/Future, and small projects built to show that the patterns actually work.
AI-written summary · about
chapters (29)
- 0:00Intro
- 2:35Sandboxing
- 16:03Cancel
- 17:39Running Effects
- 18:40UnsafeRun
- 20:16Map
- 22:18Flatmap
- 24:33Throw
- 28:02Scala Fix File
- 29:12Wart Remover
- 29:45Exercise
- 31:33Exercise 5 Combinator
- 32:40Exercise 6 Combinator
- 34:00Tail Recursion
- 35:17accumulator
- 35:47tail recursive
- 40:52zero factor
- 44:05rewrite
- 44:43functional Scala
- 45:08how to do this
- 45:32for comprehension
- 47:40stickiness
- 48:06taskunit
- 50:57failure
- 52:03fold
- 54:29FoldEm
- 55:27Air Handler
- 56:14Combinator
- 58:36Or else
related talks
45mZIO: Next-Generation Effects in Scala
29mEnhancing Spark's Power with ZIO
53mFunctional Async on the JVM
55mUnwrapping IO: is it a path that you want to follow?
40mTaming Spark with ZIO
52mComparing Approaches to Structured Concurrency
58mBlazing Fast, Pure Effects without Monads
53mWhirlwind tour of the Scala Functional Programming ecosystem
