Fork me on GitHub

@alexmiller did you consider using Records instead of just doing reify for the Spec protocol? For example and-spec-impl could return clojure.spec.AndSpec record? Would it have negative effect on performance? Records might be easier to understand and adding extensions would be easier. Trying to cover the JSON Schema generation for the core Specs. Extending records with a new protocol would be easy (the way we are doing the same with Schema).


Pushed out a experimental version of the dynamic conformations (based on runtime data). Would like to get feedback on that, now using dynamic var as the conform doesn’t take any optional parameters to do this.


greetings, is there an equivalent to clojure.spec/def, for defining many specs? like:

(s/def ::first-name string?)
(s/def ::last-name string?)
  ::first-name string?)
  ::last-name string?)


(defmacro def-many [& key-spec-pairs]
  (cons 'do (for [[k spec] (partition 2 key-spec-pairs)]
              `(s/def ~k ~spec))))


@madstap 🙂 is there any popular use case, of using return value of s/def?