[PD-dev] loadbang order

Mathieu Bouchard matju at artengine.ca
Fri Aug 12 05:33:41 CEST 2005


On Wed, 10 Aug 2005, Miller Puckette wrote:

> Indeed, "C D B F G E A" (or one of the other 7) is the order loadbangs go off
> in... so something in my explanation was confusing, but you and I do agree
> on the meaning of "depth first"...

Well, ... no.

> On Wed, Aug 10, 2005 at 06:13:13PM -0400, Mathieu Bouchard wrote:
> > On Tue, 9 Aug 2005, Miller Puckette wrote:
> > > Loadbangs are "depth first", i.e., loadbangs in abstractions (and subpatches
> > > in general) go off before loadbangs in the parent.
> > >  This is so that abstactions can initialize themselves before receiving
> > > messages coming from other loadbangs.
> > That's not the usual definition of depth-first. You mean post-order.

That post-order stuff is what Pd requires.

Pd also does it depth-first, but that's not a requirement, it's an
implementation detail. Pd could use breadth-first or any hybrid of
depth-first and breadth-first, and even picking randomly among all $0's
that are ready for loadbanging (!!!), and it shouldn't make a difference,
as long as the post-order requirement is satisfied.

It's like when running the "make" command. it's solving dependencies
depth-first usually, but it doesn't have to, and in fact, if you use the
-j option (multitasking), it will usually solve dependencies in a
different order, due to tasks being of nonequal durations.

____________________________________________________________________
Mathieu Bouchard - tél:+1.514.383.3801 - http://artengine.ca/matju
Freelance Digital Arts Engineer, Montréal QC Canada




More information about the Pd-dev mailing list