~/talk

Fun with Functional Programming in Clojure

links:none on file
slides:none on file

Live coding uses the REPL to show concrete results: a pure map increments [1 2 3 4 5] while an impure example reading a global yields the unexpected 6 5 4 3 2 1. Persistent vectors start as 0..4, conj returns new vectors with 5 and 6 while the original stays 0..4. Mutable examples use an atom so join game adds Rachel then Harriet and rejects a third player, and a software transactional memory ref keeps a game account at 1000, gives each new player 100 and leaves the game pot at 900. A 10 million sum uses recur to avoid stack overflow. ClojureScript compiles to JavaScript and the Flappy Birds edit (collision disabled) runs live in the browser.

AI-written summary · about

  1. 0:00Intro
  2. 1:08The Complexity Iceberg
  3. 2:02Visualization
  4. 5:55Functional Programming
  5. 7:45Syntax
  6. 9:12Persistent Data Structures
  7. 10:18Closure
  8. 13:30Threading
  9. 14:05Sequence
  10. 15:15Enclosure
  11. 15:44Lazy Evaluation
  12. 16:25Types
  13. 17:36Immutability
  14. 19:27Local Assignment
  15. 21:25Using Functions
  16. 23:57Polymorphism
  17. 26:37Sum
  18. 27:03Some
  19. 27:27Recur
  20. 28:23Item
  21. 29:06Join Game
  22. 29:55Ref
  23. 30:57Transactional Memory
  24. 32:36Book Exercise
  25. 34:23Common Words
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.