image.version0.82.bits.html (was Re: [squeak-dev] Re: The solution of)
tonyg at lshift.net
Wed Aug 13 07:47:52 UTC 2008
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
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.
-------------- next part --------------
A non-text attachment was scrubbed...
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