Monads in Chains
summary
Argues that monadic bind unifies lists, boost::optional and futures so one algorithm runs over synchronous values or async results, proposes a serial scheduler DSL that turns nested .then chains into imperative-looking code, shows a GUI demo where blocking code freezes a progress bar but the continuation version keeps the UI responsive, reports a continuation library used in a KDE project in production for years, notes the full library needs thousands of boilerplate lines for C++ static introspection and remains incomplete.
AI-written summary · about
chapters (12)
- 0:00Start
- 2:46Disclaimers
- 5:15How Did Monads Come to Life in Practice in Haskell
- 6:46What Is a Monad
- 7:44Haskell Syntax To Define a Type for Monads
- 9:16Examples
- 25:45Reactive Stream
- 28:44Mouse Movements
- 30:37Continuation Monad
- 32:46Reasons for Our Computations Not To Be Synchronous
- 41:44Serial Schedules
- 46:45Std Bind
related talks
01h 05mMonads in Modern C++
53mFunctional Async on the JVM
58mBlazing Fast, Pure Effects without Monads
01h 53mAsynchronous and Concurrent Programming in Scala Part 2
01h 12mAsynchronous and Concurrent Programming in Scala Part 3
51mPragmatism, Puritanism and Functional Programming
01h 28mAsynchronous and Concurrent Programming in Scala Part 1
54mMonadic Operations in Modern C++: A Practical Approach
