[REBOL] Re: TUPLE! DATA-MODEL & OTHER VALUES
From: joel:neely:fedex at: 16-Jun-2001 9:46
Carl Read wrote:
> >> a: 17 a: 42 print a "garbage
> ** Syntax Error: Missing " at a: 17 a: 42 print a "garbage
> The 17 and 42 have obviously been looked at by REBOL before
> it hit "garbage. Can you say for sure the 17 and 42 weren't
> also stored seperately for later use (in integer format
> instead of as two ASCII bytes) at this syntax checking phase?
> And if you can't, how can you be sure 'a doesn't change its
> pointer from pointing to the 17 to the 42, as apposed to
> placing a 42 where a's pointer points to. Do you
> see my point! (:
Yes. But, see below for mine.
> And I say you can't be sure, and so I agree with Holger who
> said this level of speculation about REBOL doesn't get us
> anywhere. (Well, I think it was Holger who said it.)
I belive Holger was actually talking about an even lower level
of detail (how many bits a reference or "simple" value might
occupy in memory), but still I understand and support his point.
> An interpreter could be written either way (with regard to
> integers and tuples and their like) and our scripts would
> behave the same. (Though memory usage and performance
I am not interested in reverse engineering REBOL's interpreter.
I am interested in having an adequate conceptual model of the
language that the interpreter implements. There are very many
possible models that could be imagined. Therefore:
0) I will reject a model that contradicts what I can find
in the documentation or other public statements from RT.
1) I will reject a model that predicts different results or
side-effects than I can observe by some test code.
2) I will reject a model that predicts significantly different
performance characteristics than I can observe by some test
code (i.e., predicting that some operation would be linear when
the test exhibits quadratic time complexity, or vice versa).
3) Given alternative models that AFAICT pass all of the above
tests, I will consciously choose the one that offers the
simplest explanation for what I can observe, that is most
consistent with what I know about computing science and
programming language implementation, and that contains the least
amount of pointless complexity.
Having made that choice, I will use and defend that model until
either it can be shown to violate any of (0)..(2) or someone can
offer an even simpler one.
I'm not trying to be pig-headed, and I'll be glad to change my mind
based on future disclosures from RT, on evidence, or a
compelling argument that there's a simpler way to understand
something. But I don't have time to keep changing my mind just
because we can imagine another variation.
> Have done, and I've responded to it.
Thanks! Trying to explain something, and having other folks
debate, confirm, or refute that explanation is the only way I
know how to learn. (And, of course, I am grateful to all who
participate in that process!)
> And your comments there helped me to better understand what
> "same" means in relation to REBOL.
Thanks again! I don't care who is right, only that all of us
can jointly come up with the best understanding possible.
Programming languages: compact, powerful, simple ...
Pick any two!