> On 8 Oct 2019, at 19:19, Caleb Donovick <[email protected]> wrote:
> 
> 
>> Because
>> 
>> >>> dict(foo=:1)
>>   File "<string>", line 1
>>     dict(foo=:1)
>>              ^
>> SyntaxError: invalid syntax
> 
> I don't see how that's an argument, we are talking about a syntax extension.  
>  Slice builder syntax is only every allowed in a subscript.  Edit my original 
> grammar change proposal to:
> 
> ```
> subscriptlist: ... | kwargsubscript (','  kwargsubscript )* [',']
> kwargsubscript: NAME '=' subscript
> ```    
> 
> Now slices are allowed in keyword arguments.

I wasn't making an argument, I was wondering what exactly we are even 
discussing. It seems like people are inventing new syntax willy nilly in this 
thread and I am getting very confused :)

/ Anders 



> -- Caleb Donovick
> 
>> On Tue, Oct 8, 2019 at 1:09 PM Anders Hovmöller <[email protected]> wrote:
>> 
>> 
>>>> On 8 Oct 2019, at 18:59, Todd <[email protected]> wrote:
>>>> 
>>> 
>>> 
>>> 
>>>> On Tue, Oct 8, 2019, 12:46 Anders Hovmöller <[email protected]> wrote:
>>>> 
>>>> 
>>>>> On 8 Oct 2019, at 18:35, Todd <[email protected]> wrote:
>>>>> 
>>>>>> On Tue, Oct 8, 2019 at 12:22 PM Andrew Barnert via Python-ideas 
>>>>>> <[email protected]> wrote:
>>>>>> On Oct 7, 2019, at 21:21, Caleb Donovick <[email protected]> 
>>>>>> wrote:
>>>>>> > 
>>>>>> > >  But what if you wanted to take both positional AND keyword?
>>>>>> > 
>>>>>> > I was suggesting that that wouldn't be allowed.  So subscript either 
>>>>>> > has a single argument, a tuple of arguments, or a dictionary of 
>>>>>> > arguments.  Allowing both has some advantages but is less cleanly 
>>>>>> > integratible. 
>>>>>> 
>>>>>> The problem is that half the examples people conjure up involve both: 
>>>>>> using the keywords as options, while using the positional arguments for 
>>>>>> the actual indices. Calling the proposal “kwargs in getitem” encourages 
>>>>>> that thinking, because that’s the prototypical reason for kwargs in 
>>>>>> function calls.
>>>>>> 
>>>>>> If there were non-toy examples, so people didn’t have to imagine how it 
>>>>>> would be used for themselves, that might be helpful.
>>>>>> 
>>>>> 
>>>>> Here is an example modified from the xarray documentation, where you want 
>>>>> to assign to a subset of your array:
>>>>> 
>>>>> da.isel(space=0, time=slice(None, 2))[...] = spam
>>>>> 
>>>>> With this syntax this could be changed to:
>>>>> 
>>>>> da[space=0, time=:2] = spam
>>>> 
>>>> I must have missed something... when did the proposal we're discussing 
>>>> start allowing : there? 
>>>> 
>>>> / Anders
>>> 
>>> 
>>> Why wouldn't it?  
>> 
>> Because
>> 
>> >>> dict(foo=:1)
>>   File "<string>", line 1
>>     dict(foo=:1)
>>              ^
>> SyntaxError: invalid syntax
>> 
>> _______________________________________________
>> Python-ideas mailing list -- [email protected]
>> To unsubscribe send an email to [email protected]
>> https://mail.python.org/mailman3/lists/python-ideas.python.org/
>> Message archived at 
>> https://mail.python.org/archives/list/[email protected]/message/ZJDP2H7EVGOFDVAE4ZYLUMKNNZN6UFCR/
>> Code of Conduct: http://python.org/psf/codeofconduct/
_______________________________________________
Python-ideas mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3/lists/python-ideas.python.org/
Message archived at 
https://mail.python.org/archives/list/[email protected]/message/ABJYKP6UH5TFBKWZ7ZQJYP2CGXZWJ2IW/
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to