<div dir="auto"><div>When did you last read the Dijkstra paper. It's short and he explains very well why exactly all the constructs you mention are unlike Goto.</div><div dir="auto"><br></div><div dir="auto">This isn't a proposal to subroutines, it's a proposal for subroutines in which all lexically scoped variables are implicitly nonlocal. That's basically Goto, certainly course enough to suffer all of Dijkstra's complaints.</div><div dir="auto"><br></div><div dir="auto">Yes, technically this could be called dynamic scope instead. But notwithstanding the use in elisp, that's pretty widely regarded as a bad ideas (even by the emacs developers who regret that early decision).<br><br><div class="gmail_quote" dir="auto"><div dir="ltr">On Wed, Aug 15, 2018, 9:41 PM Steven D'Aprano <<a href="mailto:steve@pearwood.info">steve@pearwood.info</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On Wed, Aug 15, 2018 at 08:35:35PM -0400, David Mertz wrote:<br>
<br>
> Goto considered harmful.<br>
<br>
Fortunately this proposal has nothing to do with goto.<br>
<br>
Elazar is correct that its a kind of subroutine call, just like an <br>
ordinary function call, except the scoping rules are different.<br>
<br>
And for the record, not everyone agrees that Dijkstra is correct about <br>
goto. Certainly unstructured code is harmful, but we use restricted <br>
forms of goto all the time, we just don't call it by that name:<br>
<br>
- loops<br>
- continue<br>
- break<br>
- if...else<br>
- function calls<br>
- exception handling<br>
<br>
Just like goto, these are all jumps which change the execution order of <br>
your code. And some people defend limited, careful use of explicit goto, <br>
including Donald Knuth.<br>
<br>
<br>
-- <br>
Steve<br>
_______________________________________________<br>
Python-ideas mailing list<br>
<a href="mailto:Python-ideas@python.org" target="_blank" rel="noreferrer">Python-ideas@python.org</a><br>
<a href="https://mail.python.org/mailman/listinfo/python-ideas" rel="noreferrer noreferrer" target="_blank">https://mail.python.org/mailman/listinfo/python-ideas</a><br>
Code of Conduct: <a href="http://python.org/psf/codeofconduct/" rel="noreferrer noreferrer" target="_blank">http://python.org/psf/codeofconduct/</a><br>
</blockquote></div></div></div>