Mailing List Archive: 49091 messages
  • Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search
 

[REBOL] Re: On mutability and sameness

From: joel:neely:fedex at: 14-Jun-2001 11:56

Hi, Ladislav, Let me guess... As a child, you always insisted on jumping in at the deep end of the pool, instead of wading in from the shallow end, right? ;-) Your post, as usual, inspired me to think of all sorts of interesting experiments and follow-on questions. To avoid boring everyone with most of my thoughts until I have baked them past the halfway point, I'll defer most of those rambling discussions. However, for the sake of clarification, let me raise a couple of them now. 1) A question: Given the transcript below:
>> block-o-words: to-block "pie" == [pie] >> pie: "apple" == "apple" >> append block-o-words [pie] == [pie pie] >> do func [n /local pie] [
[ pie: n [ append block-o-words [pie] [ ] 17 == [pie pie pie]
>> get second block-o-words == "apple" >> get third block-o-words == 17 >> print block-o-words
** Script Error: pie is not defined in this context ** Where: halt-view ** Near: pie pie pie would you say that BLOCK-O-WORDS contains three words whose names are all spelled the same, or would you say that BLOCK-O-WORDS contains three occurrences of a word with a different context attribute on each? 2) You've done some interesting of "particle physics" yourself, as documented in the essays on your web site. I do feel compelled to make a distinction between inferences (however inspired or inspiring) about REBOL details versus clearly-documented features of REBOL. You've inferred/postulated that WORD! values have attributes that could be called "type", "root", "context", and "stored value" On the other hand, the REBOL documentation clearly states that (for example) TIME! values have HOUR, MINUTE, and SECOND components. REBOL provides explicit interfaces for accessing and (at least in my model ;-) modifying those components. They are, of course: access modification ------- ------------ /hour /hour: /minute /minute: /second /second: With that said, I'm much more confident about making inferences and interpretations based on documented features than I am about basing inferences on top of other inferences. 3) Since you interpret "stored value" as an attribute of a word, would you consider the following fragment as "changing an attribute of" the word? a: 17 a: 42 -jn- ___ ___ ___ \/ 2 + \/ 2 = 4 (for sufficiently large approximations of \/ 2 ) joel'dot'neely'at'fedex'dot'com