Monad I Love You Now Get Out Of My Type System
summary
Claim: adding a small annotation @node lets a Scala compiler plugin turn pure functions into state machines so a runtime scheduler can batch I/O, cache results in a bitemporal data store, and run thousands of concurrent tasks without changing return types. Platform is decade old, runs over 12 million lines of Scala from ~1,000 developers, includes a scheduler and cache, and the live demo shows batching and caching actually working.
AI-written summary · about
chapters (12)
- 0:00Start
- 1:35Defining a Monad
- 7:55A Picture Speaks a Thousand Words
- 13:06Free Monads
- 16:26Referential Transparency
- 22:34Programming Languages
- 23:14Does the Jvm Then Take Care of Concurrency
- 25:05What Is the Runtime
- 33:14The Detailed Metric Reporter
- 37:39Questions
- 37:52What Do Stack Traces Look like
- 39:00Normalized Metrics
related talks
44mFinite state machines
44mType level Computations in Scala
49mIdris for (im)practical Scala programmers
48mA gentle introduction to type level programming in Scala
48mTypelevel Scala: What does it mean ?
40mScala vs Idris: Dependent types, now and in the future
50mThere's a prolog in your scala
42mLet the Compiler Help You: How to Make the Most of Scala's Type System
