By casting the discrete Fourier transform in comprehension syntax and using some rewrite rules for ``array comprehensions'', the fast Fourier transform may be derived by direct manipulation of source code.