Tierra is a
computer simulation developed by
ecologist Thomas S. Ray in the early 1990s in which
computer programs compete for time (central processing unit (
CPU) time) and space (access to
main memory). In this context, the computer programs in Tierra are considered to be
evolvable and can
mutate,
self-replicate and
recombine. Tierra's virtual machine is written in
C. It operates on a custom instruction set designed to facilitate code changes and reordering, including features such as jump to template (as opposed to the relative or absolute jumps common to most instruction sets).