[comp.lang.prolog] Self reproducing prolog program

arun@cwruecmp.UUCP (Arun Lakhotia) (05/04/87)

> clone :-
>        listing(clone).

May be i am being too picky.

The above program would produce all clauses having
head with functor 'clone', which could be more than
re-producing if the program database have more clone/?
clauses.

I am not sure whether that violates the notion of 
self-reproducibility, ie the offspring subsumes the
parent, and is not exactly equal but more :-) than equal.

Just an observation here ..

Another important requirement for a s/r program normally 
stated is that 'it should not make use of any knowledge
of the implementation of the language, or the machine
its implemented on'. Thus the s/r program should 
reproduce itself on any reasonable implementation
of the language in question.

With the given restriction, wouldn't it be necessary that any
s/r program be free of Variables. As most implementations
rename variables and show some _XXX kind of number on
listing or write, it would be kind of difficult, (if not
impossible) to write a generic s/r program.
=
arun