This ship has sailed. > On Oct 6, 2017, at 6:04 PM, Alan Thompson <clooj...@gmail.com> wrote: > > Before 1.9.0 is officially released, I would like to propose a revisit to the > semantic mismatch introduced by the clojure.core/any? function. > > Many, many people are dissatisfied by the choice of clojure.core/any? to be > defined as (constantly true), which is completely in conflict with > clojure.core/not-any? . After all, any logical person would automatically > assume that: > > (= (not-any? args...) (not (any? args...)) > > for any set of legal arguments. This follows the well-established tradition > in Clojure of having negated pairs such as if vs if-not, when vs when-not, > every? vs not-every?, etc. > > However, I can see that it is convenient to say something like this: > > (s/fdef clojure.core/declare > :args (s/cat :names (s/* simple-symbol?)) > :ret any?) > > It seems a simple solution to the problem would be to just define some > keyword specs in place of the globally visible any? function. The following > example shows that we could define :clojure.spec/pass-all and > :clojure.spec/pass-none which would could serve as an exact replacement for > any? (& its negative). > > (:require [clojure.spec.alpha :as s] ...) > (deftest demo > (s/def ::s/pass-all (constantly true)) > (s/def ::s/pass-none (constantly false)) > > (is (s/valid? ::s/pass-all 5 )) > (is (s/valid? ::s/pass-all "joe" )) > (is (s/valid? ::s/pass-all { :blah 42 :blue 66 :hut! 'hut! })) > (is (not (s/valid? ::s/pass-none 5 )))) > > Since 1.9.0 is not out yet, is not too late to avoid a permanent pollution of > the language with a gigantic mistake such as any?. At the very least, the > function could be moved to clojure.spec/any? from clojure.core. If we insist > on adding this blatant contradiction to clojure.core, we won't even have the > excuse of a committee to blame it on. > > Alan Thompson > > > >> On Sun, Nov 13, 2016 at 4:15 PM, Nathan Smutz <nsm...@gmail.com> wrote: >> Is there a Tricky Names for Nubies page? >> We might save some stack-overflow searches. >> >> In the spirit of Honest Trailers: if we named functions for what they do: >> or -> first-truthy >> some -> first-satisfying >> some? -> not-nil? >> any? -> return-true >> >> Are there others? >> >> -- >> 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 >> --- >> You received this message because you are subscribed to the Google Groups >> "Clojure" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to clojure+unsubscr...@googlegroups.com. >> For more options, visit https://groups.google.com/d/optout. > > -- > You received this message because you are subscribed to the Google Groups > "Clojure Dev" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to clojure-dev+unsubscr...@googlegroups.com. > To post to this group, send email to clojure-...@googlegroups.com. > Visit this group at https://groups.google.com/group/clojure-dev. > For more options, visit https://groups.google.com/d/optout.
-- 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 --- You received this message because you are subscribed to the Google Groups "Clojure" group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.