Despite of the primary theoretical and practical importance of self-replication and the Turing machine (TM), which is essentially the most basic/fundamental mathematical machine being able to realize/simulate any algorithm (and thus to model algorithmic mental processes), self-replication has not been realized yet in pure TM environment. In particular, the reproduction/printing of a TM program by itself (starting with the blank tape) has not been realized yet, despite of that the self-reproduction of a program is one of the key steps in the whole process of self-replication. Although, there exists so-called self-describing machines/automata, they print not their (full) program itself, only some unique (abbreviated) representation of it.
Our present work is to fill this gap by means of proposing a new kind of TM that we call self-printing TM. In addition to printing their own program (starting with the blank tape), the possibility of printing any (other) TM program is built in the proposed self-printing TMs. It means that the self-printing TMs are able to print the program of any (other) TM as a part of their own program. As a practical contribution, a particular self-printing TM program is provided.
In the future, apart from the theoretical/mathematical and technological respects, the proposed self-printing TM may serve as a practical tool for studying fundamental life-like phenomena (like not only self-reproduction, but also mutation and evolution) in their pure (most direct) form, in the field of artificial and biological life. In the Conclusions, this important research possibility is detailed.