Skip navigation
Pages 86-93
First published 2 September 2013

Evolution of Tail-Call Optimization in a Population of Self-Hosting Compilers

Lance Williams


We demonstrate the evolution of a more complex and more efficient self-replicating computer program from a less complex and less efficient ancestor. Both programs, which employ a novel method of self-replication based on compiling their own source code, are significantly more complex than programs which reproduce by copying themselves, and which have only exhibited evolution of degenerate methods of self-replication.