On "Meta," with a trick question at the end.
Randall.Smith at Eng.Sun.COM
Wed Jan 17 00:23:24 UTC 2001
Don't forget to look at the trick question at the end
of this note. Meanwhile....
> > > what is meta-programming? >
Jecel gave 3 good examples, including a Self program.
> > This program is *about* a program -
..and this to me is the key word: "about." A meta discussion
is about a discussion. A meta program is about a program. A
meta X is about an X.
Now one must use some interpretive framework to decide what
something is about or even if it is about anything! So the
question of the degree to which something is meta is one of
interpretation. In other words, rational people may disagree
about the metaness of some object.
For example, information about the representation of an object
is normally considered meta. The number of slots, the names of
the slots and so forth. Now consider: is the size of a
collection a meta notion? It does not depend on the
representation of the collection, and is at times something you
want to know when working with the thing. Hence some might
consider a collection's size a rather everyday, non-meta
concept. Others might say it is meta, as it is clearly about
the collection. Obviously in Self we take the former view, and
let you directly ask the object for its size (in Self we use
mirrors for the meta stuff, like slot manipulations).
So the choice of trying to put "meta" aspects into a special
world of mirrors is a choice to confront a mess of vague and
arguable decisions. However, we figured it was a practical
factoring, even if it was an uncharacteristically non-Self-like
to introduce unneeded distinctions.
Hey, how about the metaness of the following, which refers to
itself and is therefore meta? "If this sentence is true, it is
not meta, otherwise it is meta."
Is it an empty trick or does it reveal a problem with the
More information about the Self-interest