ducasse at iam.unibe.ch
Tue Apr 8 20:04:03 UTC 2003
> No, that's different. It's perfectly legal (and the behavior is very
> defined) to have a method sending a selector that does not exist (or
> referencing a global that's not declared, for that matter). Using a
> missing instance variable seems to cause undefined behavior, however.
> It certainly doesn't throw any nice exception like MNU. So I'd really
> like to catch that at load time.
ummm I do not really agree because you could change the compiler to
VariableNotIdentified and you get exactly the behavior you want. You
compile the method and if there is an error you roll-back.
>> But the load in one phase and the treatment of the load entity is
>> another one. So the order could be irrelevant still the check have to
>> done in order.
> Yes, but then you have to do the check at load time.
> Honestly I don't think that check will be *that* big a deal. The
> should be able to give me the information I need.
I did it for our meta-model with a good visitor you can extract that
easily, the problem is not there this is that at the end you end up
with a lot of accesses in your file for not too much gain.
>> Good question. I think that the trick of Joseph was to have in the
>> dead-entities (MethodDefinition, ClassDefinition....)
>> the information extracted from the load file, then put back in the
>> living entities as much information, but as the tools were working on
>> the dead-entities (or via the dead-entities (MethodDefinition) to the
>> living one (CompiledMethod) ) he could control exactly where the
>> information was kept.
> Right, I think eventually we'll want a system where both live and dead
> entities are kept in memory, and the tools work primarily on the dead
> ones. For now, however, people are used to loading the dead entities
> live entities, working with the live entities, and then recreating the
> dead entities from them. So any information in the dead entities
> needs to
> be able to be round-tripped through the live ones.
Yes but look at the author names, there are attached to the changeset
now and not with the entities. We can see that as an optimization :)
but there are a lot of information that dead entities can support
Any way we agree. I can review your code if you want (I promised myself
to only look at rosetta/ ginsu old version to let my mind elaborate but
I have some hard dead-line so no fun coding)
Prof. Dr. Stéphane DUCASSE
"if you knew today was your last day on earth, what would you do
different? ... especially if,
by doing something different, today might not be your last day on
"The best way to predict the future is to invent it..." Alan Kay.
Open Source Smalltalks: http://www.squeak.org,
Free books for Universities at
Free Online Book at
More information about the Squeak-dev