[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