On Sat, Mar 22, 2008 at 09:15:05AM -0700, Darren New wrote:
I'm just not sure how you could (for example) represent your code-base and class heirarchy as normal objects and *not* be able to introspect it.
Easy, don't allow access to the classes and methods used to represent that. Or do it like pre-AMOP lisp. Yes, every lisp implementation of CLOS used normal objects to represent the class hierarchy, but each implementation could do it its own way. Often the methods weren't even made visible (public) so the programmer didn't have easy access. AMOP defined a standard set of classes and methods for representing classes and methods which allows introspection to be done portably. Any time there is more than one implementation of a language, it is important for reflection to be standardized, otherwise it might as well not be visible. CLR is also reflective, although generally the source is no longer around in a running system. This is used for things like remote calls where the system uses reflection to generate new code to marshal and unmarshal data. David -- [email protected] http://www.kernel-panic.org/cgi-bin/mailman/listinfo/kplug-lpsg
