Wed Jan 26 09:29:35 EST 2011

Composition at run time

What about this: a model is a struct which contains all availble data
necessary to identify inputs/outputs, such that composition can be
performed at run time in a fully automated way.

This means back to the vector-based approach.  It would also mean the
construction of permutation adapters.

Then some sugar can be constructed to allow for a more convenient
lexical scope approach.


   - Use vectors or lists for I/O and a struct with meta data to
     represent the expected sizes of these data structures.

   - Function composition: start with simple sequential approach
       - state composition, possibly nested state vectors.

       - i/o composition: use a default "fill inputs with outputs"
         approach, i.e. a stack machine.

       - permutations are simply stateless models

   - Write sugar on top of this to be able to use lexical variables to
     eliminate the need of permutations.