The Design of the Scalaz 8 Effect System
summary
Scalaz 8 implements a new IO data type plus a lightweight runtime that uses fiber-based concurrency with an async constructor that supports immediate return and cancellation, fork/join, a raceWith that interrupts losers, bracket for resource-safety, and MVar-based communication (STM is proposed). Benchmarks claim up to 100x faster than Future and Cats Effect and in microbenchmarks over 6,300x in some cases. The system composes timeouts, retries and parallelism without leaks, and the runtime demonstrates the claimed performance and safety characteristics.
AI-written summary · about
chapters (27)
- 0:00Intro
- 1:00ABOUT ME
- 10:31MAIN SAFE APP
- 11:55CORE CHAINING
- 12:15CORE FAILURE
- 12:37CORE RECOVERY
- 14:15SYNCHRONOUS IMPORTING EXAMPLE
- 15:06ASYNCHRONOUS EFFECT IMPORT: DEFINITION
- 17:52ASYNCHRONOUS IMPORTING EFFECTS
- 18:56ASYNCHRONOUS EFFECT EXAMPLE
- 19:35ASYNCHRONOUS SLEEP EXAMPLE
- 19:56ASYNCHRONOUS DERIVING DELAY
- 21:23CONCURRENCY MODELS
- 24:33CONCURRENCY FORK/JOIN EXAMPLE
- 25:12CONCURRENCY RACEWITH
- 27:59CONCURRENCY DERIVING PAR
- 28:39CONCURRENCY DERIVING RETRY
- 30:30CONCURRENCY MVAR EXAMPLE
- 31:35RESOURCE SAFETY UNINTERRUPTIBLE
- 33:53RESOURCE SAFETY BROKEN ERROR MODEL
- 34:25RESOURCE SAFETY FIXED ERROR MODEL
- 35:21RESOURCE SAFETY SUPERVISION EXAMPLE
- 35:31PRINCIPLES ALGEBRAIC LAWS
- 36:11VERSUS: PERFORMANCE
- 37:26VERSUS: SAFETY
- 37:44VERSUS: EXPRESSIVENESS
- 38:28VERSUS FS2: MISSING FOUNDATIONS
related talks
23mEffects types in Scala - how to choose one
44mScalaz Stream: Rebirth
31mPick a (Effect) Lane: A comparison of direct-style Scala vs effect systems
33mRethinking Effects with Effect Systems
25mSCALAZ 8 VS AKKA ACTORS
40mCats Effect 3
01h 05mLawful Asynchronous Programming
01h 00mScala. The War of Effects. ZIO vs Cats Effect
