All this stuff on complexity of validations is interesting, but my take on most of this (and especially on the pretzel functions) is that predicates should just test for validity, strictly if possible, and nothing else, since there are too many ways of combining these tests into more abstract functions for anyone to agree on and trying to do force these choices in the predicates themselves would make them less useful and more confusing.
An input string of "foobar" is obviously not a number between 10 and 20, so whatever predicate you use to test for that should just return false. That not everybody here agrees on that indicates to me that people are trying to shove too much functionality into single tests/ predicates. I want simple, correct, well tested predicates that people can use. I'm trying NOT to make design decisions that can be made by the user of the library instead. IOW, how you combine tests should not be up to the code in this level of abstraction; it should be in the validation framework(s) that can be build on top of them. I've made my tentative choices about *that* in clj-decline, and if those don't turn out to be flexible enough for me I'll change them. If they turn out to be too cumbersome, I'll probably write some higher level abstractions on top of them. YMMV. Cheers, Joost. -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en