I'm using those watcher-fns that get called when the watched ref changes, and 
the watcher-fn gets passed the old-value and the new-value.

Now, nil is a proper value for a key-value and well as a val-value in a map, so 
passing nil does not give you the info whether or not an old-value existed or 
not, or whether a new-value is nil or no-value.

With the getter fn: (get m k no-value-here), you have the option to pass this 
no-value-here argument which gets returned if there was no value - this allows 
you to distinguish nil from "no-value". However, in the watcher-fn you cannot 
pass such a no-value argument.

One possible solution would be to define a well-know URI for the value of 
"no-value" - something like for example: "uri:http://clojure.org/uri/no-value";, 
or some other standardized constant.

Any other/better suggestions?

Thanks, FrankS.

-- 
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