Please log in to watch this conference skillscast.
In this talk, you will explore how
clojure.spec works under-the-hood, how to use it to specify your APIs, and how it can be extended to do arbitrary coercion, documentation generation, and declarative data transformations.
By interpreting what specs mean and extending
clojure.spec, you can translate your clojure.spec descriptions into other formats or languages for translation or documentation purposes.
By specifying your domain models, you can go even further and replace deeply-nested data-wrangling functions with declarative spec-to-spec transformations that can be generated from two compatible specs.
Finally, you will discover the open source implementation of these ideas, which adds arbitrary coercion to
clojure.spec, enables specs to be translated into other formats (such as json-schema and swagger), and enables compatible spec-to-spec data transformations.
YOU MAY ALSO LIKE:
- DDD eXchange 2017 (in London on 27th - 28th April 2017)
- Simon Brown's Software Architecture for Developers Workshop (in London on 22nd - 23rd May 2017)
- Alberto Brandolini's DDD Modelling Workshop (in London on 26th - 28th June 2017)
- Serverless Architecture with Azure Functions with Christos Matskas! (in London on 29th November 2017)
Speculative Development: Using clojure.spec to write correct, beautifully documented APIs
Andrew is a software developer at uSwitch, working mostly in Clojure. He's interested in experimenting with functional programming languages and writing interpreters for scheme-like languages.