Traits status
Colin Putney
cputney at wiresong.ca
Mon Oct 24 18:00:44 UTC 2005
Andreas Raab wrote:
> Have you guys ever considered that, instead of doing open heart surgery
> on a conscious patient, e.g., reformulating core-classes while the
> system is running, you might as well evolve it sideways?
[snip]
> All you need is a basic metaclass hierarchy, a
> classbuilder that allows you to insert new metaclasses (nothing you want
> to do casually, but in these cases it's really useful) a single
> recompilation after loading, and voila! There is your parallel class
> hierarchy functioning just as well as any other.
I second this idea. I did the same sort of thing when fooling around
with different ways of representing code using packages. It's
surprisingly easy, and a great way to experiment with stuff that would
be really difficult to do to the core system without breaking it, at
least temporarily.
Another idea that might make things easier is this: OB system browsers
take an environment as their root node, so if you build your metaclass
hierarchy into a new environment, you can just open a browser on it go.
(The one exception being senders and implementors since SystemNavigator
is hard-coded to use Smalltalk.)
I'd love to see a Traits implementation that I can load, play with and
unload even if it's not quite ready for use in production.
Colin
More information about the Squeak-dev
mailing list
|