David Brown wrote:
The simple answer is that is when a language allows you to look at the type
of an object at runtime.
It's rather more than that, actually, but a language that *doesn't*
allow you to examine the type of an object at runtime isn't
introspective. I.e., that's usually the first part of introspection
that's implemented, at least in a language with types.
There are also operations like "get me the names of procedures defined
in module X" or "tell me what arguments were passed the the routine that
called this one."
For example, here's much of the introspection for Tcl, which is not OO:
http://www.tcl.tk/man/tcl8.5/TclCmd/info.htm
But yes, generally, if the language doesn't let you write a library
routine where you pass it an arbitrary value and it serializes it into a
disk file, then you probably don't have any introspection. I don't do
anything serious in languages like that any more.
--
Darren New / San Diego, CA, USA (PST)
"That's pretty. Where's that?"
"It's the Age of Channelwood."
"We should go there on vacation some time."
--
[email protected]
http://www.kernel-panic.org/cgi-bin/mailman/listinfo/kplug-lpsg