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

_______________________________________________
[email protected] mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list

Reply via email to