Mon Apr 1 09:59:59 EDT 2013

Implementing dual/multiple-rate programs and dead code elimination

Basic ideas:
- ai-array should construct a lazy network
- lazy networks won't create dead nodes, as it is demand-driven
- lazy networks require lexical binding of environment (not dynamic params!)
- multiple evaluations can perform separate evaluations at different sample rates

Maybe it's best to spit the array stuff into explicit (s,i,p) -> (s,o) lifts?

- lazy network + proper bindings handling

- 1: box all environments
- 2: replace all parameterize ((bindings)) calls with binding to an indexed array/list access of a bindings box
- 3: add one abstraction layer that creates new boxes on each evaluation (keep referentially transparent)