[REBOL] Re: Back to the Advanced Port stuff again
From: rebol:techscribe at: 10-Jan-2001 22:35
Hi Paul,
you wrote:
> Lets forget about alternative methods for doing this another way for a
> moment and explain where I can find the word that is bound to the port
> object given only the object. This is really what I seek to know.
you apparently are not understanding what you are saying. You say "the
word that is bound to the port object"!
Who is bound to whom?
The word is bound. To whom? To the port-object!
The port-object is NOT bound to the word!
You cannot make a reverse lookup from object to word, because "the
port-object is not bound to the word" means that the object does not
know that there is a word, that the word is paul, and that paul is bound
to the object! Again, paul is bound to the object, the object is NOT
bound to paul, it is a one-way relationship, where the word "knows" what
it's bound to - that's what a word is there for anyway - but the value -
here an object - does not have the faintest idea that it is bound to
anything, nor must it be bound to anything (you can have a value that is
not bound to anything. Unfortunately the garbage collector will pick it
up quite soon ...)
If your design is based around the assumption that you want to associate
some kind of name value, paul, or gordon, or whatever, with an object
programmatically, by turning the name - ie paul - into a set-word! value
programmatically - make set-word! :name - and then associating it with
the port object, or whatever value, -
name: "Paul"
new-port: make set-word! :name
new-port make port! port-object
then you have a DESIGN BUG! Your idea was that by associating the
set-word! (here Paul:) with the port-object! you would be able to follow
this association backwards, from the port back to the set-word!, here
Paul:. You cannot! It's a one-way street. paul -> port-object. Period.
Now backwards following Got it?
Now, can we talk about alternative methods?
Hope this helps,
Elan