The Genetic Algorithm Utility Library (GAUL) is a flexible open source programming library providing evolutionary algorithms. Steady-state, generational and island model genetic algorithms are supported, using Darwinian, Lamarckian or Baldwinian evolution. Other evolutionary algorithms, such as differential evolution and deterministic crowding, are fully supported. Standard mutation, crossover and selection operators are provided, while code hooks additionally allow custom operators. Several non-evolutionary search heuristics are also provided for comparison and local search purposes, including simplex method, hill climbing, simulated annealling and steepest ascent. Includes support for multiprocessor and distributed systems. Much of the functionality is accessible through a simple S-Lang interface.