Sun Jul 19 14:23:52 EDT 2015
Revisit after RAI implementation
An attempt to write out the core of RAI as Haskell combinators, to
see them in isolation and to see how they compose/commute.
In the current racket implementation, most of these topics are
inside the exploratory big ball of mud. It's nice to have
something that produces working C code, but it's probably a good
time now to formalize - 2015/07/19.
* composition of state machines with state type 'accumulation'.
See http://zwizwa.be/darcs/meta/dspm :
The base abstraction is simple, but it misses a good link to Arrow.
TODO: formalize the "flattening" or "erasing" operation.
* introduction of block-rate and other sample rate up/down conversion
* spatial operations (essentially feldspar)
TODO: this is likely just commutation of fold and map.
* abstraction of data primitives (with control being fixed).
The current approach (dspm/Data.hs) had this part fixed in a