More load ordering for MC?
Daniel Vainsencher
daniel.vainsencher at gmail.com
Wed Sep 28 23:50:11 UTC 2005
Hi everyone.
While creating a bootstrap for Traits and 3.9a, I have with the
following problem:
Traits change the way methods are added. To do this, it adds some
methods, lets say addMethod: and basicAddMethod: where the former calls
the latter. Problem: when MC loads the former before loading the latter,
it is then not able to load the latter, because method loading is now
broken.
(Such an image is a pretty frustrating place to find ones self, since
doits are methods)
So I can probably solve my little problem by loading a sequence of MC
versions which slowly add things in the right order. OTOH, this could
"just work" if the methods happened to load in the correct order.
Of course the "right order" does not always exist, for example mutually
recursive methods. Of course when it exists, it can often not be found
(since we generally have no idea what method a message send resolves
to). OTOH, most of the time the order doesn't matter that much.
On the gripping hand (for me at least), when the load order does matter,
it creates a lot of pain, and it seems like a simple heuristic would
solve most such problems.
So - how do people here feel about MC ordering method additions
topologically, so that A>>sel1 comes no sooner than B>>sel2 if A>>sel1
sends the selector sel2, at least when such an order exists?
Daniel
More information about the Packages
mailing list