On Oct 21, 2006, at 1:47 PM, Mathieu Bouchard wrote:
In a dataflow diagram, the arrow always means either one thread
talking to another via some pipe, or a function-call that does not
return a value. Pd messages are like the latter.
actually - no. well yes. sort of.
there are two kinds of diagram languages, as far as I can tell. Those
that are dataflow pushed from the top (i.e. "yes") and those that are
pulling
(or should we say "sucking" because it sounds more icky?)
data from the bottom (therefore: "no" in the line above).
the top down ones can be explained as pipes or non returning function
calls,
where the effect of the call is a side effect.
the bottom up idea (e.g. VVVV) is much more explicitly a functional
language.
the system calls the objects that draw essentially asking for the
next frame.
They then call the objects above them to get the latest data, and so
it goes
up through the diagram. There are problems here, in particular it can be
hard to think about these ideas when one is used to the push method from
e.g. PD. But there are advantages. for instance when the right input
of a *~ object
is zero, there is no need to call the entire subtree above the left
(audio) input
so we save some CPU.
I am not sure whether such a pull system is any better than a push
system. it
works well for video frames, I guess it could work for audio frames
easily enough
but for asynchronous data flows (e.g. serial data, OSC packets) it
can be a right
pain.
okay, 'nuff said.
tim