A number of us were having a conversation earlier about UNDEFINED and zero and zero_type() and the whole problem of knowing if you are passing a value, or passing undefined or passing a value that's been specifically unset. We found conversation on this whole topic in January 2003, and just as it seemed to be getting somewhere, things veered off course.
I'd like to rekindle the conversation, if possible...
I believe the proposal was that a new constant NIL be added which is the integer zero with a subtype set. My sense is that there'd need to be a new subtype for this, as you wouldn't really want to use the same subtype as used for an indexing operation on a non-existent index.
Additionally, you'd need some way to check for a NIL value. The two options are something like nilp(someval), or modifying the comparison functions to check the subtype value.
Any thoughts on this? If we didn't change the fact that variables are initialized to zero, would there be any incompatibilities with this notion?
Bill