TEMPLATE-is never interpreted as a sequence of instructions. That it
happens to be one is, in a sense,just an accident. As was pointed out above,
it could just as well have been DOUBLE-BUBBLE or any other string of
characters. The beauty of the scheme is that when the same string appears
in the top two lines of this program, it is treated as a program (because it is
not in quotes). Thus in this program, one string functions in two ways: first
as program, and second as data. This is the secret of self-reproducing
programs, and, as we shall see, of self-reproducing molecules. It is useful,
incidentally, to call any kind of self-reproducing object or entity a self-rep;
and likewise to call any self-referring object or entity a self-ref. I will use
those terms occasionally from here on.
The preceding program is an elegant example of a self-reproducing
program written in a language which was not designed to make the writing
of self-reps particularly easy. Thus, the task had to be carried out using
those notions and operations which were assumed to be part of the
language-such as the word QUOTE-MARK, and the command PRINT. But
suppose a language were designed expressly for making self-reps easy to
write. Then one could write much shorter self-reps. For example, suppose
that the operation of eniuq-ing were a built-in feature of the language,
needing no explicit definition (as we assumed PRINT was). Then a teeny
self-rep would be this:
ENIUQ ['ENIUQ'].
It is very similar to the Tortoise's version of Quine's version of the
Epimenides self-ref, where the verb "to quine" is assumed to be known:
"yields falsehood when quined" yields falsehood when quined.
But self-reps can be even shorter. For instance, in some computer
language it might be a convention that any program whose first symbol is
an asterisk is to be copied before being executed normally. Then the
program consisting of merely one asterisk is a self-rep! You may complain
that this is silly and depends on a totally arbitrary convention. In doing so,
you are echoing my earlier point that it is almost cheating to use the phrase
"this sentence" to achieve self-reference-it relies too much on the proces-
sor, and not enough on explicit directions for self-reference. Using an
asterisk as an example of a self-rep is like using the word "I" as an example
of a self-ref: both conceal all the interesting aspects of their respective
problems.
This is reminiscent of another curious type of self-reproduction: via
photocopy machine. It might be claimed that any written document is a
self-rep because it can cause a copy of itself to be printed when it is placed
in a photocopy machine and the appropriate button is pushed. But some-
how this violates our notion of self-reproduction; the piece of paper is not
consulted at all, and is therefore not directing its own reproduction. Again,
everything is in the processor. Before we call something a self-rep, we want
to have the feeling that, to the maximum extent possible, it explicitly con-
tains the directions for copying itself.
Self-Ref and Self-Rep 499