Please refer to Chouser's answer for your main point, Regards,
-- laurent 2009/5/26 Sean Devlin <francoisdev...@gmail.com>: > > Okay, excellent counterexample for some. I understand that behavior > now. > > I guess I should focus on my main point, changing/aliasing the name to > some? to be consistent with every? > > On May 26, 9:34 am, Laurent PETIT <laurent.pe...@gmail.com> wrote: >> Hi, >> >> (comp first filter) and some are not equivalent. >> >> Consider this less simple case: >> >> user=> (defn negate-or-nil [x] (when (even? x) (- x))) >> #'user/negate-or-nil >> user=> (first (filter negate-or-nil [1 2 3])) >> 2 >> user=> (some negate-or-nil [1 2 3]) >> -2 >> user=> >> >> some returns the result of the predicate, filter returns the seq item >> for which predicate matches. >> >> Concerning the result of some, it seems better to return a more >> meaningful value, because it still can be used as logical true, e.g. >> in an if or when construct ... >> >> 2009/5/26 Sean Devlin <francoisdev...@gmail.com>: >> >> >> >> > To add to my own post: >> >> > There is also a discrepancy in what is returned from the two >> >> > (some identity [1 2 3]) -> 1 >> > (every? identity [1 2 3]) -> true >> >> > I would expect the following to occur >> >> > (some identity [1 2 3]) -> true >> >> > Granted, it's all the same to an if statement. However, current >> > behavior of some has the added use: >> >> > (first (filter identity [1 2 3])) -> 1 >> > (some identity [1 2 3]) -> 1 >> >> > Is the equivalence a fluke, or is this by design? Is there any >> > promise that some will continue to behave this way in the future? If >> > so, it seems like a bad alias for (first (filter...)) >> >> > Just more to discuss >> >> > On May 26, 9:02 am, Sean Devlin <francoisdev...@gmail.com> wrote: >> >> I just noticed a quirk in the core API. The some and every? functions >> >> have different naming conventions. Is there a reason for this? If >> >> not I think renaming/creating an alias some? would be very helpful. > > > --~--~---------~--~----~------------~-------~--~----~ 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 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 -~----------~----~----~----~------~----~------~--~---