Added a "push" interface to Erlang buid. Works well. Very fast. Can this be turned into an ordinary "pull" interface? Both are different views of the same thing. The real problem is to express the build as a functional program. I wonder if this can be piggy backed on Haskell's lazy eval.