Push 3.0 Programming Language Description

Created by W.Langdon from gp-bibliography.bib Revision:1.4524

  author =       "Lee Spector and Chris Perry and Jon Klein and 
                 Maarten Keijzer",
  title =        "Push 3.0 Programming Language Description",
  institution =  "School of Cognitive Science, Hampshire College",
  year =         "2004",
  number =       "HC-CSTR-2004-02",
  address =      "USA",
  month =        "10 " # sep,
  keywords =     "genetic algorithms, genetic programming",
  URL =          "http://www.hampshire.edu/cms_PDF/HC-CSTR-2004-02.pdf",
  abstract =     "Push is a programming language intended primarily for
                 use in evolutionary computation systems (such as
                 genetic programming systems), as the language in which
                 evolving programs are expressed. Push has an unusually
                 simple syntax, which facilitates the development (or
                 evolution) of mutation and recombination operators that
                 generate and manipulate programs. Despite this simple
                 syntax, Push provides more expressive power than most
                 other program representations that are used for program
                 evolution. Push programs can process multiple data
                 types (without the syntax restrictions that usually
                 accompany this capability), and they can express and
                 make use of arbitrary control structures (e.g.
                 recursive subroutines and macros) through the explicit
                 manipulation of their own code (via a 'CODE' data
                 type). This allows Push to support the automatic
                 evolution of modular program architectures in a
                 particularly simple way, even when it Push is employed
                 in an otherwise ordinary genetic programming system
                 (such as PushGP, which is a 'generic' GP system except
                 that it evolves Push programs rather than Lisp-style
                 program trees). Push can also support entirely new
                 evolutionary computation paradigms such as
                 'autoconstructive evolution,' in which genetic
                 operators and other components of the evolutionary
                 system themselves evolve (as in the Pushpop and
                 SwarmEvolve2 systems).",
  notes =        "referenced by \cite{1068292}

                 Successor to the Push 2.0 Programming Language
                 Description, from which it borrows large chunks of
  size =         "26 pages",

Genetic Programming entries for Lee Spector Christopher H Perry Jon Klein Maarten Keijzer