Type Your Data!
summary
Argues that Clojure benefits from using types to drive design via the PLT program by design workflow, demonstrates translating noun-and-field data analysis into concrete records, predicates and selectors, and shows how mixed (sum) and composite data lead to mechanical skeletons for functions. Points out concrete failures: defrecord looks like maps so typos yield nil and silent errors, Java interop causes reflection warnings, and some collection APIs accept nil. Ships an active-closure library that generates constructors, predicates and strict selectors to catch these errors early and reports that it noticeably reduces silent bugs.
AI-written summary · about
chapters (23)
- 0:00Introduction
- 1:08Who is Bob Harper
- 2:46Systematic Software Development
- 4:09Geometric Shapes
- 4:48Problem Statement
- 5:33Mixed Data
- 6:42Composite Data
- 8:00Record Type Definition
- 10:02Signatures
- 10:29Squares
- 11:01Overlays
- 12:14Converting data definitions into code
- 12:54Writing functions
- 17:37Closure
- 18:09Function Definition
- 19:24Errors
- 20:10defrecord
- 21:40Active Closure
- 23:13Stack Overflow
- 23:39Validate Maps
- 24:02Use Records
- 24:23Enclosure
- 24:53Wrapup
related talks
41mTyped Clojure
46mData, Models and Clojure
24mBuilding Intelligible Systems
48mContracts & Clojure: The Best-Yet Compromise of Types and Tests
01h 15mEffective Programs - 10 Years of Clojure
01h 02mSolving Problems the Clojure Way
43mDoing Data Science with Clojure
21mA Clojure Carol: Three Clojure Web Development A-Ha Moments
