Gaticos & Monads
summary
cats library for Clojure/ClojureScript exposes Maybe, Either, Try, Validation and async adapters for CSP channels, Java CompletableFuture, JS promises and manifold streams. Live coding builds promise-based sleep and shows that monadic amlet runs promises sequentially while applicative a lab batches independent promises to run concurrently, cutting wall-clock time. Also demonstrates lift, bind and applicative fapply for composing heterogeneous error and async types; integrations and monad/applicative laws are implemented and usable.
AI-written summary · about
chapters (20)
- 0:00Introduction
- 1:22Overview
- 3:02Either
- 3:43Exceptions
- 4:46Validation
- 6:05Promises
- 6:57Promise Operations
- 7:29Semigroup
- 10:05Addition Operator
- 10:49Applicative
- 11:20Lab
- 12:21Lift Functions
- 13:00Join Operation
- 13:34Combine Operation
- 14:19Bind Operation
- 14:52Lift Em
- 16:13How these execute
- 16:51Evaluation
- 17:16Applicative Do
- 18:41Conclusion
related talks
42mMonads you already use without knowing it
28mAdopting Cats
39mDemystifying Monads with Java
59mDo or don’t There’s no try Or is there The power of monads explained Sort of
36mAn introduction to monadic structures and functional programming
35mApplying the paradigms of core.async in ClojureScript
48mUnlocking the Magic of Monads with Java 8
44mIO monad & Error management: From Exceptions to Cats MTL
