~/talk

Bottom Up vs Top Down Design in Clojure

Talkat Clojure/conj 2015 · 2015-11-16..11-18· [functional-programming]
slides:none on file

Argues that modeling the domain as Clojure data and writing small composable functions produces a working API faster than class hierarchies, demonstrates a playable Cardia implementation built with 31 functions that initialize state in 40 lines of code and a full rule set in 144 lines total, uses one atom for UI state, composes top‑level state‑transform functions, and shows the game running so the approach actually works.

AI-written summary · about

  1. 0:00Intro
  2. 0:23About Me
  3. 2:05Pieces & Parts
  4. 4:14Top Down Design Process Recursive Decomposition
  5. 5:08Games API: Version 1
  6. 5:42Games API: Version 2
  7. 6:03More Decomposition
  8. 6:34Games API: Version 3
  9. 7:16Decompose Again
  10. 8:54Games API: Version 4
  11. 11:20For Future Reference: A Potential Top Down Cartagena Class Diagram
  12. 12:28Fundamental Questions Answered by Bottom Up Design
  13. 13:07Bottom Up Design Process Functional Composition
  14. 16:16Required Functions
  15. 16:49Generator Functions
  16. 17:47Player Initialization
  17. 18:48Board Initialization Transform sequence of symbols to the board data structure
  18. 19:35Game Initialization
  19. 22:03Types of Play Functions
  20. 22:31Turn Sequencing
  21. 23:00Queries Useful predicate functions
  22. 23:22Determining Available Movement
  23. 23:47Top Level Functions
  24. 29:18Observations (General)
  25. 30:27Observations (UI)
  26. 32:40Why Clojure?
  27. 34:01Summary: Top Down vs. Bottom Up
  28. 35:51Final Thoughts
~/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.