Collections often include false as a value. You will have to handle it by
using some other value like ::not-found.

David

On Fri, Oct 21, 2011 at 12:50 PM, Mark Engelberg
<mark.engelb...@gmail.com>wrote:

> I've always felt that Clojure's treatment of nil was somehow inconsistent
> with the elegance of many other features of Clojure.  Now I can finally
> articulate why:  nil complects non-existence, false, and empty.
>
> The choice to make nil represent so many concepts was an "easy" choice,
> because it saves a few characters when you can write things like (when seq
> ....) vs. (when (empty? seq) ...) and Clojure implements sequences in a way
> that the former expression is also a bit more performant.  It is also easy
> in the sense that it is more similar to what Lisp users (as opposed to
> Scheme) are used to from past experience.  But it is decidedly less simple
> to have these ideas complected.
>
> Over the past couple of years, I've seen numerous bugs along the lines of
> "Your function usually works great, but it breaks when the list/map/vector
> you pass in contains nil values."  It seems clear to me that nil's
> complexity makes programs harder to analyze, because when you're writing
> your code, you might be thinking of nil as only representing non-existence
> or emptiness, for example, and forgetting that the system will treat nil as
> a false value as well.
>
> --
> 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 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

Reply via email to