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