<html><body><div style="color:#000; background-color:#fff; font-family:HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif;font-size:12pt"><div id="yiv1299730044"><div><div style="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); font-family: HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 12pt;"><div id="yiv1299730044"><div id="yiv1299730044yui_3_13_0_1_1396547572572_4856"><div id="yiv1299730044yui_3_13_0_1_1396547572572_4855" class="yiv1299730044yui_3_13_0_1_1396547572572_4827" style="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); font-family: HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 12pt;"><div id="yiv1299730044yui_3_13_0_8_1396544225176_13">For example, if you have two help patches open and each has an array inside it named "array1". One of the help patches will work, and the other won't. That's because
"Put" menu arrays assume you only have one array by that name. Pd will use the first one it finds (probably the first one you create) and the duplicate will be ignored.</div><div id="yiv1299730044yui_3_13_0_8_1396544225176_13"><br></div><div class="yiv1299730044yui_3_13_0_1_1396547572572_4828" id="yiv1299730044yui_3_13_0_8_1396544225176_13" style="color: rgb(0, 0, 0); font-size: 16px; font-family: HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: transparent; font-style: normal;">In the case of arrays you'll get a warning, because you're not supposed to use the same name twice. But with the send/receive classes (as well as many
other objects that use pd_bind) you can have many s/r pairs sharing the same name.<br><br>So suppose you have [s loop] and [r loop] in a subpatch, and [s loop] and [r loop] in an unrelated subpatch.</div><div class="yiv1299730044yui_3_13_0_1_1396547572572_4829" id="yiv1299730044yui_3_13_0_8_1396544225176_13" style="color: rgb(0, 0, 0); font-size: 16px; font-family: HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: transparent; font-style: normal;"><br>Are those s/r pairs supposed to communicate with each other? Or...</div><div class="yiv1299730044yui_3_13_0_1_1396547572572_4832" id="yiv1299730044yui_3_13_0_8_1396544225176_13" style="color: rgb(0, 0, 0); font-size: 16px; font-family: HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: transparent; font-style: normal;">Did the author forget he/she already used the name "loop" for the first s/r pair and
doesn't actually want the other s/r pair to
communicate with the first?<br></div><div class="yiv1299730044yui_3_13_0_1_1396547572572_4833" id="yiv1299730044yui_3_13_0_8_1396544225176_13" style="color: rgb(0, 0, 0); font-size: 16px; font-family: HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: transparent; font-style: normal;"><br id="yiv1299730044yui_3_13_0_8_1396544225176_39"></div><div class="yiv1299730044yui_3_13_0_1_1396547572572_4834" id="yiv1299730044yui_3_13_0_8_1396544225176_13" style="color: rgb(0, 0, 0); font-size: 16px; font-family: HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: transparent; font-style: normal;">If the answer to the second question is yes, then that's an example of a nameclash. Pd doesn't give you a way to tell the difference. Most programming languages have clear and sensible ways to avoid this. There's even a Pd external to do it-- I think it's called
[sendlocal] and [receivelocal]-- but its
author erroneously thought that $0 deprecates those objects.</div><div class="yiv1299730044yui_3_13_0_1_1396547572572_4834 yui_3_13_0_1_1396549510475_4937" id="yiv1299730044yui_3_13_0_8_1396544225176_13" style="color:rgb(0, 0, 0);font-size:16px;font-family:HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif;background-color:transparent;font-style:normal;"><br></div><div class="yiv1299730044yui_3_13_0_1_1396547572572_4834 yui_3_13_0_1_1396549510475_4937" id="yiv1299730044yui_3_13_0_8_1396544225176_13" style="color:rgb(0, 0, 0);font-size:16px;font-family:HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif;background-color:transparent;font-style:normal;">Pd gurus on the list can give you seemingly simple workarounds for these problems with scope and nameclashes, but as you the programmer accumulate them it gets more and more unwieldy. Worse, it makes it difficult to read patches, as you must spend
time decoding someone else's idiosyncratic use of [makefilename] or whatever they are doing to get Pd to do what is concise, consistent and robust in nearly every other modern programming language.</div><div class="yiv1299730044yui_3_13_0_1_1396547572572_4834 yui_3_13_0_1_1396549510475_4937" id="yiv1299730044yui_3_13_0_8_1396544225176_13" style="color:rgb(0, 0, 0);font-size:16px;font-family:HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif;background-color:transparent;font-style:normal;"><br></div><div class="yiv1299730044yui_3_13_0_1_1396547572572_4834 yui_3_13_0_1_1396549510475_4937" id="yiv1299730044yui_3_13_0_8_1396544225176_13" style="color:rgb(0, 0, 0);font-size:16px;font-family:HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif;background-color:transparent;font-style:normal;">Finally-- and again-- these problems cannot be improved in Pd without breaking some backwards compatibility.
Just take the related issue of namespaces with external libraries-- it's hard enough to design and test something robust like Python's namespacing. Now imagine trying to design something like that which is also backwards compatible with the crude namespacing tools that already exist in Pd. It's not possible, and that means as long as people imagine Pd Vanilla as the "core" Pd $0 hackery is the only way to simulate scoping.</div><div class="yiv1299730044yui_3_13_0_1_1396547572572_4834 yui_3_13_0_1_1396549510475_4937" id="yiv1299730044yui_3_13_0_8_1396544225176_13" style="color:rgb(0, 0, 0);font-size:16px;font-family:HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif;background-color:transparent;font-style:normal;"><br></div><div class="yiv1299730044yui_3_13_0_1_1396547572572_4834 yui_3_13_0_1_1396549510475_4937" id="yiv1299730044yui_3_13_0_8_1396544225176_13" style="color:rgb(0, 0,
0);font-size:16px;font-family:HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif;background-color:transparent;font-style:normal;">-Jonathan</div><div class="yiv1299730044yahoo_quoted" id="yiv1299730044yui_3_13_0_8_1396544225176_15" style="display: block;"> <div style="font-family: HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 12pt;" class="yiv1299730044yui_3_13_0_1_1396544225176_5241 yiv1299730044yui_3_13_0_1_1396547572572_4840">
<div style="font-family: HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 12pt;" class="yiv1299730044yui_3_13_0_1_1396544225176_5242 yiv1299730044yui_3_13_0_1_1396547572572_4841"> <div dir="ltr"> <font face="Arial" size="2"> On Thursday, April 3, 2014 12:35 PM, Alexandre Torres Porres <porres@gmail.com> wrote:<br> </font> </div> <div class="yiv1299730044y_msg_container"><div id="yiv1299730044"><div><div dir="ltr"><span style="font-family: arial, sans-serif; font-size: 12.727272033691406px;" class="yiv1299730044yui_3_13_0_1_1396544225176_5244 yiv1299730044yui_3_13_0_1_1396547572572_4843">> * when you run into nameclashes, you know your project </span><div><span style="font-family: arial, sans-serif; font-size: 12.727272033691406px;" class="yiv1299730044yui_3_13_0_1_1396544225176_5245 yiv1299730044yui_3_13_0_1_1396547572572_4844">> has outgrown Pd and it's time to choose another
language</span><br clear="none">
<div><span style="font-family: arial, sans-serif; font-size: 12.727272033691406px;" class="yiv1299730044yui_3_13_0_1_1396544225176_5246 yiv1299730044yui_3_13_0_1_1396547572572_4845"><br clear="none"></span></div><div><span style="font-family: arial, sans-serif; font-size: 12.727272033691406px;" class="yiv1299730044yui_3_13_0_1_1396544225176_5247 yiv1299730044yui_3_13_0_1_1396547572572_4846">what's a nameclash? (maybe I haven't </span><span style="font-family: arial, sans-serif; font-size: 12.727272033691406px;" class="yiv1299730044yui_3_13_0_1_1396544225176_5248 yiv1299730044yui_3_13_0_1_1396547572572_4847"> </span><span style="font-family: arial, sans-serif; font-size: 12.727272033691406px;" class="yiv1299730044yui_3_13_0_1_1396544225176_5249 yiv1299730044yui_3_13_0_1_1396547572572_4848">outgrown Pd yet)</span></div>
</div></div><div class="yiv1299730044gmail_extra"><br clear="none"><br clear="none"><div class="yiv1299730044yqt6176885987" id="yiv1299730044yqtfd92046"><div class="yiv1299730044gmail_quote">2014-04-03 13:00 GMT-03:00 Jonathan Wilkes <span dir="ltr"><<a rel="nofollow" shape="rect" href="">jancsika@yahoo.com</a>></span>:<br clear="none">
<blockquote class="yiv1299730044gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div class="yiv1299730044">On 04/03/2014 04:00 AM, IOhannes m zmoelnig wrote:<br clear="none">
<blockquote class="yiv1299730044gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
-----BEGIN PGP SIGNED MESSAGE-----<br clear="none">
Hash: SHA256<br clear="none">
<br clear="none">
On 2014-04-03 03:05, Alexandre Torres Porres wrote:<br clear="none">
<br clear="none">
</blockquote>
<br clear="none"></div>
[...]<div class="yiv1299730044"><br clear="none">
<br clear="none">
<blockquote class="yiv1299730044gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<br clear="none">
btw: i would probably even recommend to use explicit *connections*<br clear="none">
(rather than send/receive pairs) for anything local. then you never<br clear="none">
have the problem of "[qlist] and locality" - very simple and forces<br clear="none">
you to think about your object interfaces.<br clear="none">
</blockquote>
<br clear="none"></div>
I would also recommend only using global receive-symbols when you have to use them. That way:<br clear="none">
* your patches are more readable<br clear="none">
* no need to feed $0 to message boxes<br clear="none">
* when you run into nameclashes, you know your project has outgrown Pd and it's time to choose another language<span class="yiv1299730044HOEnZb"><font color="#888888"><br clear="none">
<br clear="none">
-Jonathan</font></span><div class="yiv1299730044HOEnZb"><div class="yiv1299730044h5"><br clear="none">
<br clear="none">
<blockquote class="yiv1299730044gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<br clear="none">
<br clear="none">
<br clear="none">
fgmasdr<br clear="none">
IOhannes<br clear="none">
-----BEGIN PGP SIGNATURE-----<br clear="none">
Version: GnuPG v1<br clear="none">
Comment: Using GnuPG with Icedove - <a rel="nofollow" shape="rect" href="">http://www.enigmail.net/</a><br clear="none">
<br clear="none">
iQIcBAEBCAAGBQJTPRULAAoJELZQGc<u></u>R/ejb4NioP/0Kyyz4MA+<u></u>Tqq8890uEHGj9Z<br clear="none">
FZHEo5z/idBj7Z+<u></u>WmAHrEipkIW70pnVBB4bVzC8owgV66<u></u>AQZBuEqXMeJcIpu3MXK<br clear="none">
ULvsvxcFcoY9YH7hbJAF+<u></u>mlDFvbh1CXcVbvEChZ8y5rz0XekSMf<u></u>+//qUfJSlKTWX<br clear="none">
GXjJzw8s42yfSpVJYBjEh6fBFzlk2f<u></u>oLRFPFXaR6Cbj+Y7aNEiW//+<u></u>Vim3nOzleT<br clear="none">
6azYe0leLabir72nnWIKGahnT2GXgW<u></u>kgxu6L//<u></u>nTgsBYOa1COUoKOh44wvBbMSoW<br clear="none">
lbLduDY5drxJbyISGoZdsuailriv1x<u></u>MGIkiSwTw4WSwVWBj2kv5MgoHC09ug<u></u>qtLe<br clear="none">
bVHrizcP09+<u></u>VUz20y8IMnXrRRgj8AU8Z+<u></u>9xzZIzf9PV3U15zSlRqwZSFIwMCuhY<u></u>s<br clear="none">
CeRqxtDFVsB/PARQoCys/<u></u>B4QDjAszBPE2VC1xKSelBMjyGbvPyZ<u></u>A7uq/R199zLCy<br clear="none">
WMp0uu0+Q6WKa/zIB+<u></u>sphLlifnXjYYXJaCGZNOzign1EJLOn<u></u>BvOY/4zgE3bHtx9r<br clear="none">
FIlSFSMo6BrYjOEJvh/MxF90TawI/<u></u>aCQ/MbEea0+finxJi2jp2PnMom+<u></u>QbCvjfBa<br clear="none">
zLh8hlNP0tLp21Jo1ydzu0/<u></u>vYb9mEzMQtpEv9lqrde0INcEKL9Tas<u></u>wFGf5TXyM7h<br clear="none">
JeTnSBV0Th0CjQER9Gik<br clear="none">
=oC+u<br clear="none">
-----END PGP SIGNATURE-----<br clear="none">
<br clear="none">
______________________________<u></u>_________________<br clear="none">
<a rel="nofollow" shape="rect" href="">Pd-list@iem.at</a> mailing list<br clear="none">
UNSUBSCRIBE and account-management -> <a rel="nofollow" shape="rect" href="">http://lists.puredata.info/<u></u>listinfo/pd-list</a><br clear="none">
</blockquote>
<br clear="none">
<br clear="none">
______________________________<u></u>_________________<br clear="none">
<a rel="nofollow" shape="rect" href="">Pd-list@iem.at</a> mailing list<br clear="none">
UNSUBSCRIBE and account-management -> <a rel="nofollow" shape="rect" href="">http://lists.puredata.info/<u></u>listinfo/pd-list</a><br clear="none">
</div></div></blockquote></div><br clear="none"></div></div></div></div><br><br></div> </div> </div> </div> </div></div></div></div></div></div></div></body></html>