Learning Clojure: types and contract-based programming
Read more about Clojure and incremental approach together with collection of ints, validations and value ordering. Find out what are available arguments of s/valid? and the outputs.
Use Contract-based programming to call an indeterminate number of functions after or before executing function's body. Read on :pre and :post to make your code more reliable.
"This part is the 4th in a serie dedicated to learning the Clojure JVM language. Previous posts include: Coping with dynamic typing, The arrow and doto macros and Dynamic dispatch. While describing how..."