Deriving sequential and parallel programs from pure LISP specifications by program transformation

We describe an ''industrial strength'' example of the use of specification and transformation to produce an efficient program. The specification is written in pure Lisp. Program transformations have been used to generate from it a program that executes efficiently on a wide variety of sequential machines. Another set of transformations has been used to generate programs from it that execute efficiently on global-memory parallel machines. We discuss some of the design decisions for the parallel version (and their motivations), optimization of parallel programs, and the benefits of the specification-transformation approach.