Sat Apr 3 15:43:25 CEST 2010

Dataflow and loops

A hand-waving remark.  As mentioned in the comments here[1],
dataflow/reactive programming is hindered by the absence of loops.

This is maybe the biggest roadblock I face in trying to write down
some embedded language for DSP.  However, for a synchronous dataflow
language this doesn't matter; it might be solved by simple source
transformations and combinators.

  * Almost all the interesting algoritms in numerical computing are
    iterative, computing a function by successive approximation,
    i.e. as the steady state of some iterative dynamical system; with
    or without state maintained from one evaluation to the next.

  * For time-based algorithms resampling and block-based functions are
    also a requirements.  Both constraints add significant complexity
    to ordinary functional data-flow based representation.

Any practically useful DSP language should solve those problems
properly, probably using combinators that transform "basic" dataflow
programs into iterated and or re-routed forms.

[1] http://lambda-the-ultimate.org/node/2057