title: Clojure.spec - Why is it useful and when is it used
body: <p>I have recently watched <a href="https://www.youtube.com/watch?v=oyLBGkS5ICk" rel="nofollow noreferrer">Rich Hickeys talk at Cojure Conj 2016</a> and although it was very interesting, I didn't really understand the point in <code>clojure.spec</code> or when you'd use it. It seemed like most of the ideas, such as conform, valid etc, had similar functions in Clojure already.</p>
  
  <p>I have only been learning clojure for around 3 months now so maybe this is due to lack of programming/Clojure experience.</p>
  
  <p>Do clojure.spec and cljs.spec work in similar ways to Clojure and Cljs in that, although they are not 100% the same, they are based on the same underlying principles.</p>