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