The complement would work in terms of "opposite" of filter like: (filter (complement nil?) [1 2 nil]) -> (1 2)
but I like remove since it is a bit more clear and less typing. On Thu, Oct 16, 2008 at 2:57 PM, Paul Stadig <[EMAIL PROTECTED]> wrote: > More options: I was browsing through the docs and I couldn't find a > function that is the "opposite" of filter, which would allow something like: > > (remove nil? coll) > > Or alternatively if we had not-nil? > > (filter not-nil? coll) > > Are either of those more palatable? > > In regards to compact removing false, I would be against that, since > Clojure makes a distinction between false and nil. You could, for example, > want to have a collection of boolean values, but want to remove the nils > (perhaps they're a sentinel for some other meaning). > > user> (compact [true false nil true true]) > (true false true true) > > I think it makes sense to have the number functions like max and min throw > a NPE, and since false and nil are distinct, I think it makes sense to have > a compact that removes nil, but leaves false. > > > Paul > > > On Thu, Oct 16, 2008 at 4:45 PM, Stuart Halloway < > [EMAIL PROTECTED]> wrote: > >> >> Just to add to the confusion: I want compact to remove nil and >> false. :-) >> >> > Perhaps another nudge for compact is that it's not as simple as >> > (filter identity coll), to wit: >> > >> > user> (filter identity [1 2 nil false 4]) >> > (1 2 4) >> > >> > user> (filter #(not (nil? %)) [1 2 nil false 4]) >> > (1 2 false 4) >> > >> > So unless you want to catch false in your net you really need to be >> > doing the latter, which again is not unreasonable, but just a little >> > messy to be using frequently. >> > >> > >> > Paul >> > >> > >> >> >> > > > > --~--~---------~--~----~------------~-------~--~----~ 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 [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/clojure?hl=en -~----------~----~----~----~------~----~------~--~---