About reflection and it engineering

Brian T Rice water at tunes.org
Thu Nov 6 00:48:18 UTC 2003


Well, regardless of the metaclass system for Smalltalks, this paper does
raise some interesting issues that Squeak could learn from. The pattern
described is to have an abstract ("meta-level") interface to persistent
sources and live objects.

I should probably clarify for people who are not used to talking about
reflection issues, that meta-levels can be of various sorts, and classes
and such are only one kind of meta-level, and not all that is needed.

Some conclusions that could be drawn:

SystemOrganization and such, which the Browser classes rely upon, could be
replaced or aided by more component-oriented source descriptions, much as
PackageInfo is, but probably enhanced to provide the same functionality
style of SysOrg and such. Then, refactoring the IDE to use this
abstraction gives an immediate genericity benefit of being able to browse
remote repositories, file-based sources (Monticello, changesets, etc.).
Now, I can only speculate how far this could go, but that benefit right
there seems like an immediate signal that it's worth exploring. Anyone
who's used the remote contents browsers knows how brittle they can be:
imagine if that kind of tool were just a modularly-added feature instead
of a special case of a larger more brittle part.

They also mention JavaDoc, which relates to the Dandelion tool and such,
and there's some benefit there, but browsers and inspectors and
changesorters are much more directly valuable to us.

Of course, someone has to actually proceed with this investigation. :) I
may find time for it soon, or might advise and assist someone who's
willing to do it (even if the point is for them to learn). As of now, I
can't really promise anything.

-- 
Brian T. Rice
LOGOS Research and Development
http://tunes.org/~water/



More information about the Squeak-dev mailing list