<br><br><div class="gmail_quote">On Mon, Nov 30, 2009 at 4:24 AM, spir <span dir="ltr">&lt;<a href="mailto:denis.spir@free.fr">denis.spir@free.fr</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

<div id=":1sk" class="ii gt">which seems to indicate python really embeds &quot;symbolic references&quot; (*) to outer *variables*, when creating a closure for g0. Not &quot;pointer references&quot; (**), otherwise the replacement of x would not be seen by the closure --like in the case of default-parameter.<br>


Actually, I find this _Bad_. Obviously, the func&#39;s behaviour and result depend on arbitrary external values (referentially opaque). What do you think?<br></div></blockquote></div><div><br></div>I&#39;m not sure *why*/how this behaviour really works, other than it treats x as a global variable... and probably treats n as something similar.<div>

<br></div><div>I don&#39;t know how bad I find it - you should be declaring the variables you&#39;re planning to use in your function anyway... I&#39;m sure there&#39;s *some* case that it would end out problematic, but I can&#39;t think of one ATM.</div>

<div><br></div><div>-Wayne<br clear="all"><br>-- <br>To be considered stupid and to be told so is more painful than being called gluttonous, mendacious, violent, lascivious, lazy, cowardly: every weakness, every vice, has found its defenders, its rhetoric, its ennoblement and exaltation, but stupidity hasnít. - Primo Levi<br>


</div>