Next: Reflective Annotation
Up: Extensions via Meta-Interpreters
Previous: Extensions via Meta-Interpreters
On a method/function invocation, parameters can be transparently passed
from the caller to the callee at the meta-level using the
meta-level argument interface. When a method or function is
invoked, a method meta-args of the evaluator is called. The
return value of this method, which is a list of keywords and values,
is passed onto the target's meta-object along with ordinary
parameters of the base-level method or function. Eventually, these
values are stored in the evaluation environment on the callee's side,
and accessed by the function lookup-meta.
An advantage of this mechanism is that the meta-level arguments are
invisible from the base-level programs. As a result, we need not
modify base-level programs in order to pass parameters that are used
only at the meta-level. The use of meta-level arguments is presented
in Section 5.3.
Matt Hurlbut
1998-07-14