Abstract: We present a generic genetic algorithm expressed in the functional programming style, specifically the language Haskell. This is a single, higher order function that can encapsulate the functionality of almost any Genetic Algorithm, and is accompanied by a library of standard GA components. We demonstrate its flexibility by expressing a number of differing case studies as specific instances of the generic solution.