GeomLab is a system developed by Mike Spivey of Oxford University, to enable complex recursive patterns (of the type immortalised by Escher) to be created easily even by novice programmers. Spivey's original GeomLab system (programmed in Java) is available from GeomLab at Oxford University.

The system has been ported to Flex/Actionscript by Mike Pearson, so as to be usable across the Web without requiring Java. This is available, together with a worksheet, from Flex GeomLab at the NRICH website.

Peter Henderson's paper on Functional Geometry, the theory behind GeomLab, is available from: Peter Henderson, "Functional Geometry", in Higher Order and Symbolic Computation, Vol 15, pp. 349-365, 2002.

An interesting (but technically demanding) book on the ways in which functional programming can be used to provide powerful but accessible programming systems for entertainment and education is The Fun of Programming.

Escher-style fish pattern

Escher-style pattern produced by Mike Spivey's GeomLab