18:15 - 19:15
Clojure is a strongly and dynamically typed Lisp running on the JVM and .NET. As a dynamically typed language, Clojure does not benefit from the Hindley Milner style type system and inference found in several modern languages. Clojure recently introduced clojure.spec as a new way of specifying data structures. The talk takes as it starting point an example written in Haskell and shows how clojure.spec achieves some of the same goals and provides generative/property based testing for free at the same time.