<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
</head>
<body text="#000000" bgcolor="#FFFFFF">
<div class="moz-cite-prefix">On 10/09/2013 06:48 PM, Terry Reedy
wrote:<br>
</div>
<blockquote cite="mid:l341da$1fv$1@ger.gmane.org" type="cite">On
10/9/2013 9:51 AM, Larry Hastings wrote:
<br>
<br>
<blockquote type="cite">range() in
<br>
PyPy accepts keyword parameters, and in fact this works:
<br>
<br>
range(9, step=2)
<br>
<br>
That's way illegal in CPython.
<br>
</blockquote>
<br>
But Georg's point is that it does not have to be illegal in
CPython. Range, in particular, does not have to be blazingly fast
since it wraps loops rather than being in loops. I quite agree
that it would be better to fix most functions.<br>
</blockquote>
<br>
First, if you're proposing to change the signature of range()...
well, good luck. Any proposals I made like that got shot down
almost immediately. I <i>think</i> Guido said somewhere "range
isn't changing. deal with it.", though I admit I don't have a
reference for that handy.<br>
<br>
Also, if you're suggesting "change the semantics of builtins to get
rid of positional-only parameters", I've got a different example
for you: the dict constructor, which <i>must</i> accept a single
optional positional-only parameter. The only way to simulate that
in Python code is with *args, but now introspection on that function
will be misleading, because the dict constructor doesn't accept more
than one positional-only argument.<br>
<br>
And, as Georg suggests, these niggling inconsistencies are the
hobgoblins of my small mind.<br>
<br>
<br>
<i>/arry</i><br>
</body>
</html>