The Bird-Meertens Formalism - A Tutorial

David Skillicorn

The Bird-Meertens Formalism (BMF) was developed by Bird and Meertens as a tool for software development by transformation. They developed a set of equations for transforming cons-list programs and discovered the importance of homomorphisms. Their work was given a formal basis by Malcolm and Spivey.

Homomorphisms are natural building blocks for parallel programming because they define a recursive, structured way in which they can be computed. This pattern depends on the shape of the argument, but not on the specific homomorphism. Encapsulation of the computation and communication structure, parameterised by particular component functions which depend on the specific homomorphism, are natural.

This approach led to the first parallel programming model that was both efficient and expressive (the parallel theory of lists). It has also been used to develop parallel homomorphisms and implementations for trees, and program derivation systems for graphs and arrays.