<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Sun, Feb 19, 2017 at 10:47 AM, Joseph Hackman <span dir="ltr"><<a href="mailto:josephhackman@gmail.com" target="_blank">josephhackman@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra" style="font-size:12.8px"><div class="gmail_quote"><span class=""><blockquote style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex" class="gmail_quote"><span style="font-size:12.8px">Your argument has convinced me, and I now take (what i believe to be) your position:</span><br></blockquote></span><div><br></div><div>def stuff(arg = lazy f()):</div><div><br></div><div>should result in a function where the default value of arg is not evaluated until first function call, and then the value of the expression is used as the default.</div></div></div></div></blockquote><div><br></div><div>Indeed.  And in particular, f() *might not* be excuted even during that first (or any) function call, depending on what conditional path are taken within the function body.  That's the crucial part.  The function may have perfectly good uses where you don't want to take the computational time, or have the side-effects, but other uses where you need that deferred value or action.</div><div> </div></div>-- <br><div class="gmail_signature" data-smartmail="gmail_signature">Keeping medicines from the bloodstreams of the sick; food <br>from the bellies of the hungry; books from the hands of the <br>uneducated; technology from the underdeveloped; and putting <br>advocates of freedom in prisons.  Intellectual property is<br>to the 21st century what the slave trade was to the 16th.<br></div>
</div></div>