I am exploring an implementation of clojure.spec.alpha and found out a rather "little" (according to my naive expectations) set of tests :)
Clojure spec defines a set of primitives being able to compose one with each other.
Another words Clojure spec defines a language to describe structure + its predicative properties.
Assuming that spec semantics is described informally in Rationale and Guide how do you reason about the correspondence between declared semantics and spec implementation?
I expected a huge set of tests covering basic scenarios and finite number of their compositions -- kinda induction base. And if induction base is true then other compositions are also ok.
how do you reason about verification of the clojure.spec.alpha validation implementation correctness?
UPD: narrowed the question context to
validation aspect according to Alex Miller first answer.