6 ms·
There have been things that were alpha parts of Clojure for years in the past. They were eventually finalized or in a few cases deprecated. Given that few peopl
by puredanger 9y ago
There have been things that were alpha parts of Clojure for years in the past. They were eventually finalized or in a few cases deprecated. Given that few people try alpha software, it's better to release and let people use it while the work is finished. I have no doubts that spec will finish and leave alpha.
spec is one of the fastest libraries available for validation (http://muhuk.github.io/validation-benchmark/ http://muhuk.github.io/validation-benchmark/). spec is not designed for extension by making new kinds of spec. It's designed to utilize any predicate function on the bottom and by combination from the pieces available. By analogy, is LEGO bad because it's hard to make your own bricks? That's just not how you use it.
There are some known problems that make generation slow (mostly having things that grow too quickly in combination). One known problem was fixed in the late stages before release and we will continue to work on the sizing issues.
There is more to the generative testing story that has not yet surfaced. We've got another whole project related to this that is still a work in progress. Even without that, I think there is a lot of value to be had in spec right now.