~/talk

Contracts & Clojure: The Best-Yet Compromise of Types and Tests

Talkat Philly ETE 2015 · 2015-04-07..04-08· [functional-programming, clojure]
slides:none on file

Shows how Prismatic Schema contracts plus test.check generators let Clojure code gain type-like guarantees by validating shapes at runtime and exercising them with property tests; demonstrates refactoring a messy report pipeline into named schemas, generators, and composable validators, and reports a prototype that wraps generators to surface bad samples. Notes limitations: parameterized/produced types, lazy-sequence and higher-order-function checks are tricky. Proposes packaging schemas/generators/test-kit as separate, leavable artifacts so clients can run fast, in-memory experiments against an API.

AI-written summary · about

  1. 0:00Introduction and motivation
  2. 1:50The philosophy of certainty
  3. 5:49Static types vs. Clojure data
  4. 9:33Implementing Prismatic Schema
  5. 12:27Defining and verifying schemas
  6. 19:30Generative testing
  7. 22:30Boundaries and limitations
  8. 31:41Dependency inversion and design
  9. 37:36Conclusion and summary
  10. 41:36Q&A and final 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.