[Python-ideas] dictionary constructor should not allow duplicate keys
Terry Reedy
tjreedy at udel.edu
Wed May 4 21:49:47 EDT 2016
On 5/3/2016 11:31 PM, Chris Angelico wrote:
> On Wed, May 4, 2016 at 1:23 PM, Terry Reedy <tjreedy at udel.edu> wrote:
>> Why single out just one to raise an exception? My guess is that it is
>> partly from mistakenly thinking of the one as a like a lexer literal rather
>> than as runtime code.
This was a preface to the main points that followed, and which were
snipped from this followup.
> But the lexer's definition of "literal" is extremely narrow, and
> doesn't reflect the way people think about them. Most people's idea of
> a literal is closer to what ast.literal_eval can accept:
[snip]
I am obviously aware of that. My main point, not addressed by this
response, is that 1. dict displays are currently equivalence to several
forms of Python code with more explicit looping, including at least two
that are commonly used to initialize dicts; and 2. that changing the
semantics of dict displays and only dict displays will break this
equivalence.
In my response just not to Nick, I was more explicit that breaking this
equivalence now, after 20+ years, will break code that depends on the
current equivalence and break people's currently true expectations.
--
Terry Jan Reedy
More information about the Python-ideas
mailing list