Fun with Functional Programming in Clojure
summary
Live REPL-driven demos show Clojure’s claims: pure functions, immutable persistent vectors and lazy sequences produce predictable results; using recur eliminates stack-overflow in deep recursion; atoms and refs with software transactional memory let concurrent updates (players vector, game/ref transfers) change consistently or throw a validator error when limits (max two players) are exceeded. Tooling uses Emacs + cider interactively and Leiningen for builds; ClojureScript compiles to compact JS via Google Closure. A Flappy Birds demo exists but isn’t shown here.
AI-written summary · about
chapters (18)
- 0:00Introduction
- 3:41What is the difference
- 4:57The complexity iceberg
- 7:12Pure functions
- 12:58Closure
- 14:21Syntax
- 15:53Data Structures
- 18:00Persistent vectors
- 20:10Range
- 22:43Question mark
- 24:22Recursion
- 28:21Some
- 29:07Recur
- 30:21Lazy Evaluation
- 32:07Sequences
- 33:10States
- 35:43Players
- 36:19Ref
related talks
38mFun with Functional Programming in Clojure
01h 02mSolving Problems the Clojure Way
49mA whirlwind tour of functional programming in Clojure
36mBack to the Future: How 80s Arcade Games Taught me Clojure
34mClojure by neophyte
43mClojure - Modern Lisp
01h 15mEffective Programs - 10 Years of Clojure
45mResidential Programming without Mutable State
