Evolutionary algorithms such as genetic programming have proven themselves successful on a wide range of problems. Some of the problems with evolutionary algorithms are discussed, and it is argued that autocatalytic systems may hold solutions. Cellular automata are presented as a unifying computational language. Experimental results are given which show that higher-level representations can aid in the evolution of cellular automata.