Specification for function definitions

Define specifications for your custom functions

  • Additional documentation - argument and return values and the relationship between them.
  • Instrumenting functions - checking for correct argument values
  • Generative testing - using argument specifications to generate comprehensive test data.

    Many of the functions in clojure.core have specifications in the latest version of Clojure.