Sun May 26 11:40:51 EDT 2013

Intermediate vectors

This needs separate declaration and assignment.

I was thinking about the map/fold/map problem, and it seems a solution
might be the following:

- extend the reduce mechanism to allow for vector output.  this would
  enable multiple passes with accumulation.

- implement the FeldSpar-style symbolic indexing as a higher level
  operation on top of explicit map/reduce loops

On the lower level, this needs the ability to allocate temporary
arrays on the stack.  It should be straightforward to write a test app
and let it drive the changes.

Instead of modifying reduce/n it's probably better to write a
completely new abstraction fold/n

Looking good:

next: prevent copying of ouput nodes.  probably better to assign
directly inside loops instead of creating temporaries?

alternatively: introduce copy loops. -> done