This package provides a genetic programming framework. Genetic
programming is an evolutionary technique, inspired by biological
evolution, to evolve programs for solving specific problems. A genetic
program is represented by a value of an algebraic datatype and
associated with a custom-defined fitness value indicating the quality
of the solution. Starting from a randomly generated initial population
of genetic programs, the genetic operators of selection, crossover,
and mutation are used to evolve programs of increasingly better
quality.