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

[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 > mightn't.) >
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. -jn- ------------------------------------------------------------ Programming languages: compact, powerful, simple ... Pick any two! joel'dot'neely'at'fedex'dot'com