Update of /cvsroot/pure-data/doc/pddp In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv8565
Modified Files: all_about_lists_vs_anythings.pd Log Message: updated and added content based on discussions on pd-dev about Miller's [list ...] object
Index: all_about_lists_vs_anythings.pd =================================================================== RCS file: /cvsroot/pure-data/doc/pddp/all_about_lists_vs_anythings.pd,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** all_about_lists_vs_anythings.pd 28 Apr 2005 00:25:04 -0000 1.4 --- all_about_lists_vs_anythings.pd 25 Jul 2005 21:33:45 -0000 1.5 *************** *** 1,20 **** ! #N canvas 330 124 865 611 10; ! #X msg 95 288 1 2 3; ! #X obj 125 319 route list; ! #X msg 62 268 list 1 2 3; #X msg 10 63 list; #X symbolatom 32 129 10 0 0 0 - - -; #X obj 4 2 cnv 15 850 20 empty empty all_about_lists_vs_anythings 20 10 1 18 -233017 -66577 0; - #X text 9 218 More than one "float" in a message is considered a "list". - More than one "symbol" in a message is not implicitly considered a - "list" , only if you cast it.; #X text 7 39 SPECIAL CASES OF "LISTS".; ! #X obj 125 342 bng 15 250 50 0 empty empty list -20 7 1 10 -262144 -1 -1; ! #X obj 189 343 bng 15 250 50 0 empty empty non-list 19 7 1 10 -262144 -1 -1; ! #X msg 184 267 list this is a set with a cast; ! #X msg 191 286 this is a set withOUT a cast; #X obj 488 138 bng 15 250 50 0 empty empty bang 0 20 1 9 -262144 -1 -1; --- 1,17 ---- ! #N canvas 266 99 873 619 10; ! #X msg 95 298 1 2 3; ! #X obj 125 329 route list; ! #X msg 62 278 list 1 2 3; #X msg 10 63 list; #X symbolatom 32 129 10 0 0 0 - - -; #X obj 4 2 cnv 15 850 20 empty empty all_about_lists_vs_anythings 20 10 1 18 -233017 -66577 0; #X text 7 39 SPECIAL CASES OF "LISTS".; ! #X obj 125 348 bng 15 250 50 0 empty empty list -20 7 1 10 -262144 -1 -1; ! #X obj 189 349 bng 15 250 50 0 empty empty non-list 19 7 1 10 -262144 -1 -1; ! #X msg 184 277 list this is a set with a cast; ! #X msg 191 296 this is a set withOUT a cast; #X obj 488 138 bng 15 250 50 0 empty empty bang 0 20 1 9 -262144 -1 -1; *************** *** 27,53 **** #X obj 585 138 bng 15 250 50 0 empty empty list 0 21 1 9 -262144 -1 -1; ! #X obj 100 528 route list; ! #X obj 100 551 bng 15 250 50 0 empty empty list -20 7 1 10 -262144 -1 -1; ! #X obj 164 552 bng 15 250 50 0 empty empty non-list 19 7 1 10 -262144 -1 -1; ! #X msg 20 491 one 2 three 4 five; ! #X msg 20 469 1 two 3 four 5; #X text 8 198 IMPLICIT LISTS; ! #X msg 179 469 list 1 two 3 four 5; ! #X msg 179 491 list one 2 three 4 five; #X msg 17 83 list 25; #X msg 24 103 list foo; - #X obj 10 171 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 - -1; - #X obj 57 170 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 - -1; - #X obj 105 169 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 - -1; - #X obj 153 170 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 - -1; - #X obj 201 169 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 - -1; - #X obj 10 148 route bang float symbol list; #X text 87 104 A "list" of one "symbol" is converted to a "symbol" ; --- 24,39 ---- #X obj 585 138 bng 15 250 50 0 empty empty list 0 21 1 9 -262144 -1 -1; ! #X obj 120 527 route list; ! #X obj 120 546 bng 15 250 50 0 empty empty list -20 7 1 10 -262144 -1 -1; ! #X obj 184 547 bng 15 250 50 0 empty empty non-list 19 7 1 10 -262144 -1 -1; ! #X msg 189 491 one 2 three 4 five; ! #X msg 40 491 1 two 3 four 5; #X text 8 198 IMPLICIT LISTS; ! #X msg 40 471 list 1 two 3 four 5; ! #X msg 189 471 list one 2 three 4 five; #X msg 17 83 list 25; #X msg 24 103 list foo; #X text 87 104 A "list" of one "symbol" is converted to a "symbol" ; *************** *** 56,60 **** #X obj 520 514 pddp_open all_about_atom_conversion; #X obj 821 3 pddp; ! #X text 11 392 Sets of mixed atoms are defined based on what the "selector" (the first element of a set). If the "selector" is a "float" , then the set is a "list". If the "selector" is the word "list" , then the --- 42,46 ---- #X obj 520 514 pddp_open all_about_atom_conversion; #X obj 821 3 pddp; ! #X text 11 400 Sets of mixed atoms are defined based on what the "selector" (the first element of a set). If the "selector" is a "float" , then the set is a "list". If the "selector" is the word "list" , then the *************** *** 83,122 **** ; #X text 443 192 "LISTS" MAP TO INLETS; #X text 450 389 When working with sets that might be either "lists" ! or undefined , use [prepend]. Most of the "list" handling objects in Pd are not general enough to handle this situation.; ! #X text 450 367 WORKING WITH MIXED SETS; ! #X text 11 373 SETS OF MIXED "ATOMS"; #X connect 0 0 1 0; ! #X connect 1 0 8 0; ! #X connect 1 1 9 0; #X connect 2 0 1 0; ! #X connect 3 0 33 0; #X connect 10 0 1 0; ! #X connect 11 0 1 0; ! #X connect 15 0 45 0; ! #X connect 16 0 45 0; ! #X connect 18 0 19 0; ! #X connect 18 1 20 0; ! #X connect 21 0 18 0; ! #X connect 22 0 18 0; ! #X connect 24 0 18 0; ! #X connect 25 0 18 0; ! #X connect 26 0 33 0; ! #X connect 27 0 4 0; ! #X connect 27 0 33 0; ! #X connect 33 0 28 0; ! #X connect 33 1 29 0; ! #X connect 33 2 30 0; ! #X connect 33 3 31 0; ! #X connect 33 4 32 0; ! #X connect 45 0 12 0; ! #X connect 45 1 13 0; ! #X connect 45 2 17 0; ! #X connect 45 3 46 0; ! #X connect 45 4 14 0; ! #X connect 45 5 47 0; ! #X connect 48 0 49 0; ! #X connect 49 0 50 0; ! #X connect 51 0 49 0; ! #X connect 53 0 49 0; --- 69,205 ---- ; #X text 443 192 "LISTS" MAP TO INLETS; + #X text 450 367 WORKING WITH MIXED SETS; + #X text 11 381 SETS OF MIXED "ATOMS"; + #X text 9 218 A message having more than one atom starting with a "float" + is implicitly considered a list. A message having more than one atom + starting with a "symbol" is not , unless that "symbol" is the selector + "list".; + #X obj 11 169 bng 15 250 50 0 empty empty bang 0 20 1 9 -262144 -1 + -1; + #X obj 58 169 bng 15 250 50 0 empty empty float 0 21 1 9 -262144 -1 + -1; + #X obj 207 169 bng 15 250 50 0 empty empty symbol 0 21 1 9 -262144 + -1 -1; + #X obj 108 169 bng 15 250 50 0 empty empty list 0 21 1 9 -262144 -1 + -1; + #X obj 10 148 route bang float list pointer symbol; + #X obj 158 169 bng 15 250 50 0 empty empty pointer 0 21 1 9 -262144 + -1 -1; + #X obj 257 169 bng 15 250 50 0 empty empty UNDEFINED 0 21 1 9 -262144 + -1 -1; #X text 450 389 When working with sets that might be either "lists" ! or undefined , use [prepend]. Many of the "list" handling objects in Pd are not general enough to handle this situation.; ! #N canvas 0 22 848 498 some 0; ! #X obj 176 169 print; ! #X msg 137 100 list one two three; ! #X msg 122 61 1 2 3; ! #X msg 131 80 one 2 three; ! #X obj 97 169 route list; ! #X obj 97 198 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 ! -1; ! #X obj 165 199 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 ! -1; ! #X obj 124 139 prepend test; ! #X text 19 23 [prepend] accepts lists and undefined sets and outputs ! undefined sets.; ! #X text 12 229 [print] only interprets the "list" selector when the ! following body of the message is an implied list , i.e. a set of atoms ! that starts with a float.; ! #X msg 86 307 list one two three; ! #X msg 67 269 1 2 3; ! #X msg 77 287 one 2 three; ! #X obj 37 401 route list; ! #X obj 37 430 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 ! -1; ! #X obj 105 431 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 ! -1; ! #X obj 64 371 prepend list; ! #X obj 116 401 print PREPEND; ! #X obj 92 351 print STRAIGHT; ! #X msg 100 326 list 1 two 3; ! #X msg 490 222 list one two three; ! #X msg 475 183 1 2 3; ! #X msg 484 202 one 2 three; ! #X obj 450 291 route list; ! #X obj 450 320 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 ! -1; ! #X obj 518 321 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 ! -1; ! #X obj 616 294 route list; ! #X obj 616 323 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 ! -1; ! #X obj 684 324 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 ! -1; ! #X text 221 141 (I used cyclone's); ! #X obj 477 261 route one; ! #X text 415 127 [route] accepts lists and undefined sets and outputs ! lists , and like [print] only interprets the 'list' selector for implied ! lists:; ! #X obj 529 291 print ONE; ! #X obj 692 294 print NOT_ONE; ! #X connect 1 0 7 0; ! #X connect 2 0 7 0; ! #X connect 3 0 7 0; ! #X connect 4 0 5 0; ! #X connect 4 1 6 0; ! #X connect 7 0 0 0; ! #X connect 7 0 4 0; ! #X connect 10 0 16 0; ! #X connect 10 0 18 0; ! #X connect 11 0 16 0; ! #X connect 11 0 18 0; ! #X connect 12 0 16 0; ! #X connect 12 0 18 0; ! #X connect 13 0 14 0; ! #X connect 13 1 15 0; ! #X connect 16 0 13 0; ! #X connect 16 0 17 0; ! #X connect 19 0 18 0; ! #X connect 19 0 16 0; ! #X connect 20 0 30 0; ! #X connect 21 0 30 0; ! #X connect 22 0 30 0; ! #X connect 23 0 24 0; ! #X connect 23 1 25 0; ! #X connect 26 0 27 0; ! #X connect 26 1 28 0; ! #X connect 30 0 23 0; ! #X connect 30 0 32 0; ! #X connect 30 1 26 0; ! #X connect 30 1 33 0; ! #X restore 463 466 pd some odd cases of list handling; #X connect 0 0 1 0; ! #X connect 1 0 7 0; ! #X connect 1 1 8 0; #X connect 2 0 1 0; ! #X connect 3 0 56 0; ! #X connect 9 0 1 0; #X connect 10 0 1 0; ! #X connect 14 0 38 0; ! #X connect 15 0 38 0; ! #X connect 17 0 18 0; ! #X connect 17 1 19 0; ! #X connect 20 0 17 0; ! #X connect 21 0 17 0; ! #X connect 23 0 17 0; ! #X connect 24 0 17 0; ! #X connect 25 0 56 0; ! #X connect 26 0 4 0; ! #X connect 26 0 56 0; ! #X connect 38 0 11 0; ! #X connect 38 1 12 0; ! #X connect 38 2 16 0; ! #X connect 38 3 39 0; ! #X connect 38 4 13 0; ! #X connect 38 5 40 0; ! #X connect 41 0 42 0; ! #X connect 42 0 43 0; ! #X connect 44 0 42 0; ! #X connect 46 0 42 0; ! #X connect 56 0 52 0; ! #X connect 56 1 53 0; ! #X connect 56 2 55 0; ! #X connect 56 3 57 0; ! #X connect 56 4 54 0; ! #X connect 56 5 58 0;