#N canvas 0 0 618 425 10; #X text 14 13 Extending PureData with Haskell; #X text 14 26 AngloHaskell 2007 Presentation; #X text 14 39 Claude Heiland-Allen ; #X text 14 69 03: Execution Order; #X text 14 99 Data flows from top to bottom \, generally from right to left.; #X text 14 119 Execution is depth first through the chain of objects. ; #X obj 31 179 bng 15 250 50 0 empty empty empty 17 7 0 10 -24198 -1 -1; #X obj 31 205 t b b b; #X obj 31 295 t b b; #X obj 75 235 print first; #X obj 53 265 print second; #X obj 61 325 print third; #X obj 31 355 print last; #X text 14 149 Example:; #X text 244 149 Bad example:; #X obj 261 179 bng 15 250 50 0 empty empty empty 17 7 0 10 -24198 -1 -1; #X obj 261 248 print left; #X obj 285 218 print right; #X text 263 279 The order of execution of two patch cords; #X text 263 316 This can lead to hard-to-find bugs \, so it is; #X text 263 330 always advisable to use ``trigger'' objects; #X text 263 344 to make the execution order explicit.; #X text 263 292 leading from the same outlet is undefined!; #X text 263 366 ``t'' is short for ``trigger'' \, save typing!; #X connect 6 0 7 0; #X connect 7 0 8 0; #X connect 7 1 10 0; #X connect 7 2 9 0; #X connect 8 0 12 0; #X connect 8 1 11 0; #X connect 15 0 16 0; #X connect 15 0 17 0;