First, text messaging can be such a limiting medium. Now, excuse me, but it's not me who needs "HTH" and a referral to the REBOL docs.
Again, to review the flow of messaging [with notes added]: ---- from the first ----- A recent exchange on the REBOL email list made me revisit Ladislav Mecir's article "Rebol Words and Contexts, alias Bindology" ++ note: see that word "revisit"? it implies i've read it at least twice ++ [http://www.fm.vslib.cz/~ladislav/rebol/contexts.html] Mr.Mercir writes: "Two words are equal, if they have equal spelling, or if they are aliases ... This knowledge can be used to define a Rebol function which can tell us whether two words are aliases." His word and definitional: aliases?: func [ {find out, if word1 and word2 are aliases} word1 [any-word!] word2 [any-word!] ] [ found? all [ equal? :word1 :word2 not equal? spelling :word1 spelling :word2 ] ] which depends upon: spelling: func [ {return the spelling of a word} word [any-word!] ] [ if word? :word [return mold word] if set-word? :word [return head remove back tail mold :word] next mold :word ] But is this truth? --- end from the first --- This isn't truth. Spelling has nothing to do with it! The correct test has its basis here and here alone: aliases?: debate [ word1 [any-word!] word2 [any-word!] ][ either (not same? word1 word2) and (equal? word1 word2) [ true ][ false ] ] And the facts: 1. Two words are aliases if and only if their definitionals ("values") are equal AND they point to the exact same (one and only one) definitional ("value") existing within REBOL controlled memory. >> alias 'func "def" == def >> aliases? 'func 'daf == false >> aliases? 'func 'def == true >> aa: 23 == 23 >> bb: :aa == 23 >> aliases? 'aa 'bb == false >> cc: 23 == 23 >> aliases? 'aa 'cc == false >> alias 'aa "dd" == dd >> aa == 23 >> dd == 23 >> aliases? 'aa 'dd == true 2. Two words with "identical looking" definitionals ("values") point to two different objects in REBOL's global context (memory). >> ff: "this is a string" == "this is a string" >> gg: "this is a string" == "this is a string" >> same? ff gg == false >> equal? ff gg == true >> aliases? 'ff 'gg == false >> ff == gg == true >> count? ff == 16 >> count? gg == 16 >> parse ff [gg] == true >> parse gg [ff] == true 3. When one word is a pointer to another word, they both point to the same definitional and REBOL looks up the definitional by passing a chain (right-to-left) of the definitionals when parsing (left-to-right), which gives true for both same and equal >> ff == "this is a string" >> hh: :ff == "this is a string" >> same? hh ff == true >> equal? hh ff == true >> aliases? 'hh 'ff == false >> parse hh [ff] == true >> parse ff [hh] == true Again, Mr. Mecir, even if you would have wrote correctly in your "bindology" article, your concept of what is an alias in REBOL and how to detect it (your functional definitional) are both not truth, i.e., they're false, incorrect. -- what you should have wrote correctly (but would still be false)---------------------------------------------------- What is necessary for two words to be *aliases*? Two words are *aliases* if they are equal *have the same symbols in the exact same sequence* and *don't have the same face-value spelling*. -------- end of what you should have wrote correctly --------- The final point is I've remained cordial through this exchange and find your replies amusing in your complete missing what is clear as if defending a mistake is more important than the mistake itself. Hopefully, you'll revisit your Bindology article with fresh eyes. Pier ________________________________________________ Get your own "800" number Voicemail, fax, email, and a lot more http://www.ureach.com/reg/tag -- To unsubscribe from the list, just send an email to lists at rebol.com with unsubscribe as the subject.
