<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On 17 February 2017 at 20:23, Steven D'Aprano <span dir="ltr"><<a href="mailto:steve@pearwood.info" target="_blank">steve@pearwood.info</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
<span class="">> I think it would be key, like async/await, to narrowly define the scope in<br>
> which the word delayed functions as a keyword.<br>
<br>
</span>The PEP makes it clear that's just a transition phase: they will be<br>
turned into proper keywords in Python 3.7.<br>
<br>
<a href="https://www.python.org/dev/peps/pep-0492/#id80" rel="noreferrer" target="_blank">https://www.python.org/dev/<wbr>peps/pep-0492/#id80</a><br>
<br>
Python has had "pseudo-keywords" in the past, like "as":<br>
<br>
[steve@ando ~]$ python2.5 -c "import math as as; print as"<br>
<module 'math' from '/usr/local/lib/python2.5/lib-<wbr>dynload/math.so'><br>
<br>
and it is my understanding that the core developers dislike this sort of<br>
thing. As do I. You shouldn't count as getting the same special treament<br>
as async/await. Maybe you will, maybe you won't.<br></blockquote><div><br></div><div>Very well put! Do you have any suggestions for doing something in the same vein? I think there's been a </div><div><br></div><div> [...]</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
That will make it pretty much impossible to tell whether something is a<br>
delayed "thunk" or not, since *any* attempt to inspect it in any way<br>
will cause it to reify.<br>
<br>
Maybe that's what we want.<br></blockquote><div><br></div><div>In my mind, this is a plus. The only way to determine if something is delayed would be something that doesn't apply to anything else, so code never needs to be aware of delayed.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Earlier we talked about delayed *expressions* always generating the same<br>
value, now you're talking about *instances* rather than expressions. It<br>
makes sense to have keep the standard Python object semantics, rather<br>
than have the value of a delayed thunk cached by the textual expression<br>
that generated it.</blockquote><div><br></div><div>You are totally right. I agree that the nomenclature is important, and I think we're on the same page. </div><div><br></div><div> [...]</div><div><br></div><div>Steve-</div><div><br></div><div>I really appreciate the thoughtful feedback! Please let me know if you have suggestions; I don't expect the idea to be acceptable out-of-the-gate. :)</div><div><br></div><div>-Joseph</div><div> </div></div><br></div></div>