Running With Scissors: Live Coding With Data
summary
Claims that REPL-driven development plus Clojure’s data-oriented idioms and spec make experiments fast and reliable, demonstrated with live examples: bespoke personal-finance tooling, a Rock‑Paper‑Scissors port, and a clj-xchart random chart generator. Uses Clojure, ClojureScript, Datomic, spec, pretty-printer, inspector, spreadsheets, spec‑viz and a tiny harness (transcriptor). Generative testing with spec finds surprising bugs — one case reveals a JVM bug within a minute. REPL-driven development spec generative testing
AI-written summary · about
chapters (39)
- 0:00Intro
- 0:20About Me
- 2:03About Clojure
- 3:14Rationale
- 6:08A La Carte Read
- 7:44Custom Print
- 8:14Custom Error Printing
- 9:21Common REPL Concerns
- 9:37"Just a Shell" is Not Enough
- 11:18Sidecar Shells: JShell
- 12:22REPL is Not About Text Entry
- 12:59Spaghetti Code?
- 13:35Functional Code
- 14:39Task-Specific Dev
- 15:29Example Data
- 16:17Generating Data
- 17:00Load What You Need
- 18:48Spreadsheet It
- 19:01Picture It
- 19:46Too Much Work?
- 20:30Rich Comment Blocks
- 22:27What About Tests?
- 23:31Transcriptor
- 24:18Sets: Scissors-Ready Data
- 25:45Ad hoc Merge
- 26:15Ad Hoc Enumeration
- 27:13Slots vs. Sets
- 28:20Query the Program
- 28:38Transform the Program
- 29:09Codeveloping Two Libs
- 30:03Live Coding vs. Reloading
- 32:10What About GUI Debuggers?
- 33:11Live Data: Clojure spec
- 33:49spec as Exploration Tool
- 34:52From Basic Predicates
- 35:16To Testable Types
- 36:05Exercising Data
- 36:43Instrumentation
- 37:14Reflections
related talks
15mLive Programming a Live Programming Environment: An Experience Report
38mLiving with Spec
35mThrough the Looking Glass
40mAgility & Robustness: Clojure spec
40mProgramming Clojure, Smalltalk-Style
01h 00mThe REPL as a General Purpose Tool
55mTransforming Enterprise Development With Clojure
50mClojureScript - It's not just the language
