Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

YouTube

Clojure Spec: Expressing Data Constraints without Types

ChariotSolutions via YouTube

Overview

Explore Clojure's spec library in this conference talk from Philly ETE 2017. Dive into the world of expressing data constraints without types, learning how spec enhances Clojure by providing a system for declarative specifications of data and functions. Discover the benefits of using specs for validation, documentation, destructuring, instrumentation, data generation, and automatic generative testing. Understand the flexibility of adding specs iteratively or selectively to your programs, and gain insights into predicative and structural aspects of spec. Learn about modeling information, syntax operations, and working with points, lines, and polygons. Explore function specs, enhanced documentation, and robustness through instrumentation and generative testing. Gain practical knowledge on using spec in production, including spec transformation, construction, and testing techniques.

Syllabus

Intro
What are we doing?
Data processing
Clojure and data
The Clojure Promise
Why spec?
Why not types?
Predicative
Structural
Generating from collection specs
Modeling information
Syntax - regex ops
Points and lines
Conforming
Polygons
Functional
Function specs
A function spec
Spec with arg constraint
Spec with args/ret constraint
Enhanced docs
Exercising functions
Robustness
Instrument
Generative testing
Successful check
Failing check
spec in Production
Spec specs
Spec transformation
Spec construction
Spec testing

Taught by

ChariotSolutions

Reviews

Start your review of Clojure Spec: Expressing Data Constraints without Types

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.