Re: Order of preds in clojure.spec/alt

2018-08-03 Thread J
Hi Sean, unfortunately the problem is more complex. The "default" predicate i am using is a second case which sometimes overlaps with the first pred. For Example: (spec/alt :strings (spec/* string?) :length (spec/* #(< 1 (count (str % on input ["string" 1 ] matches only "st

RE: Order of preds in clojure.spec/alt

2018-08-02 Thread Sean Corfield
I would assume it’s a “maximal munch” strategy at play here: (spec/* string?) will only match one string in your input but (spec/* identity) will match all three elements so it “wins” as the best match. Perhaps :default (spec/* (complement string?)) will do what you need? (depending on exactly