>  [EMAIL PROTECTED] wrote:
>> The trick here is what does  SELF evaluate to  when you set 'x to
>> it?  SELF at that time is an object, containing the words C and D,
>> but those words haven't yet been assigned anything at the time you
>> assign the word X to SELF.  
>
>  I would assume they're unset in that stage (even if perhaps setting
> them to NONE  could make more sense  for an object,  like  it is for
> function contexts).

  Which makes me consider what are the real distinctions between NONE
and UNSET?  I tend to think that NONE, in REBOL, is closer to a
logical state, where as UNSET is more of an existential state.  For a
function, local variables defaulting to NONE eases a common question
function writers will ask in their code:

   if local-variable [do-something-with local-variable]

  I tend to think that words in the global context or in an object
context are more in an existential state. Once they are mentioned in a
given context the word exists but with no value.  They either are
filled in by the person mentioning that word in that context or not.
A word at the global context or in an object context isn't like a word
in a function context which may be changing all the time, being passed
in or not.  Those non function context variables seem more
existential. At least, that's how it all strikes me.  But. of course,
that's just my own formulation, and not necessarily the most in
keeping with REBOL's philosophy.  I wonder what Carl's thinking is
about why words default to NONE in functions, and UNSET at the global
and object contexts.  What's the deeper meaning?  There always is a
deeper purpose with most things in REBOL.  (-:

  Cheers--

        -jeff


Reply via email to