Above and beyond type systems with clojure.spec
The most exciting feature of the upcoming Clojure 1.9 is clojure.spec, which delivers a game changer experience in a dynamically typed language such as clojure. With this new tool your code will be able to express constraints that are traditionally very hard to encode in traditional type systems, like describing a function that only accepts a sequence of strings of increasing length of which the third element starts with a capital letter. In this talk I'll start with the spec basics up to some of its advanced usages, from data validation to generative testing.
A devoted Clojure zealot, I'm a travelling software enthusiast now settled in Amsterdam, the Netherlands. Have had the coder / architect / CTO / event organizer hats in different contexts and markets, I now work in logistics as a clojure developer and devops, making the logistic world a better place. I also help organizing the Dutch Clojure Days, one of the major clojure conferences in Europe, and am hosting a 100-long streak (and counting) of clojure meetups at @amsclj