image.version0.82.bits.html (was Re: [squeak-dev] Re: The solution of)

Tony Garnock-Jones tonyg at lshift.net
Wed Aug 13 07:47:52 UTC 2008


Hi Klaus,

Klaus D. Witzel wrote:
> - http://squeak.cobss.ch/ImageSpecs/image.version0.82.bits.html
> That page contains a short description and the data, let me know when 
> something is missing or not clear.

I like it a lot! I've had a bit of fun throwing together a wee program 
to explore it (hideous python script attached). I have some questions 
for you:

1. It seems like there are two representations of SmallIntegers, e.g. "0 
5" and "83 500" for 5 and 500, respectively. Do I have that right? Why 
is it done that way?

2. Why do sometimes the number of instance variables not line up with 
the number declared in an object's class? For instance,

  MetaApplication has 6 instvars, but Class claims its instances have 5
  MetaColor has 6 instvars, but Class claims its instances have 5
  MetaImage has 6 instvars, but Class claims its instances have 5
  MetaPoint has 6 instvars, but Class claims its instances have 5
  String has 6 instvars, but MetaString claims its instances have 5

3. Why are Chars represented specially? Couldn't they be represented in 
the same style as Methods?

4. Why are False, True and Undefined represented specially? Couldn't 
they, too, be in the same style as Methods?

5. Why don't all the rows have "0 -1" as the final two columns, if they 
have no special instances?

And finally, I have a suggestion: if each row had an indication of how 
many fields to expect before the human-readable name and the instance 
data, that'd make parsing simpler. Alternatively, removing the 
human-readable text and simply putting ":" or something to delimit the 
instance data from the other data would be an improvement.

What led you to produce this artifact? It's very interesting.

Regards,
   Tony

-------------- next part --------------
A non-text attachment was scrubbed...
Name: image.py
Type: text/x-python
Size: 3507 bytes
Desc: not available
Url : http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20080813/6454ab21/image.py


More information about the Squeak-dev mailing list