Psh Release 0.2
PushGP Genetic Programming System in Java

by jon klein [email]

What Is Psh?

Psh is a Java implementation of the Push programming langage and of PushGP.

What Is Push? What is PushGP?

Push is a programming language designed specifically for genetic programming and other evolutionary computation applications. Push has an unusually simple syntax, which facilitates the development (or evolution) of mutation and recombination operators that generate and manipulate programs. Push also supports dynamic code manipulation and can support entirely new evolutionary computation paradigms such as "autoconstructive evolution," in which genetic operators and other components of the evolutionary system themselves evolve. PushGP is a genetic programming system built on top of Push. Push was developed by Lee Spector. More information about Push is available here.

Online Demo

To see a quick example of how the Push programming language works, see the Push programming language online demo.

Getting the Source Code

The Psh source code is now hosted on GitHub. You can get the Psh source code using:

git clone git://

Getting Started

First, build Psh by typing:


Next, run PshGP on a sample problem:

java PshGP samples/regression1.pushgp


Refer to the Psh and PushGP documentation for more information on using Psh and PshGP.


Psh is available freely under the GNU Public License version 2. See the included file GPL.txt for details.