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

Reply via email to