Possiamo creare un programma che stampi il suo codice sorgente e se compiliamo (o il programma stesso) di quanto il nuovo programma avrebbe la stessa funzionalità esatta del programma originale? Quindi in qualche modo si riprodurrebbe in cloni perfetti che possono anche riprodursi.
Il programma non dovrebbe usare file esterni altrimenti sarebbe davvero facile da implementare: abbiamo solo bisogno di creare un programma che legge un file piuttosto che scriverlo, piuttosto che copiare e incollare il codice sorgente file esterno.
Il mio primo tentativo è stato quello di scrivere un programma con una funzione di stampa che copiare e incollare il codice sorgente in questa funzione di stampa, ma questo programma può riprodursi solo una volta e non ha la stessa funzionalità perché il secondo programma non può essere stampato il codice sorgente.