I am trying to understand the program based on the article. I have no knowledge of the program beyond what is stated there. As I understand the article, simpler functions mutate into more complex functions in the program. The article mentions these "simple functions" in several places without going into detail. I would think the programmers had to program some functionality into those simpler functions and also create a routine that generates the mutation or allows the mutation to occur (yielding the "random mutations"). That's what I'm trying to understand.
Even the earliest simple A-life: Holland's game of Life, could have been described and implemented as a collection of cells with their own programs. Collections of cells in Life can take on a permanent relationship that looks, to the viewer, like a discrete entity with lifelike features. It was not necessary for the programmer to arrange this--it just happened. Find Holland's game of life on the net somewhere and try it out--I think you'll get the picture quickly enough.