[Python-Dev] Very Strange Argument Handling Behavior (original) (raw)
Maciej Fijalkowski fijall at gmail.com
Sat Apr 17 20:10:12 CEST 2010
- Previous message: [Python-Dev] Very Strange Argument Handling Behavior
- Next message: [Python-Dev] Very Strange Argument Handling Behavior
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On Sat, Apr 17, 2010 at 12:03 PM, Dino Viehland <dinov at microsoft.com> wrote:
Maciej wrote:
On Sat, Apr 17, 2010 at 11:38 AM, Dino Viehland <dinov at microsoft.com> wrote: > Benjamin wrote: >> 2010/4/17 Guido van Rossum <guido at python.org>: >> > On Sat, Apr 17, 2010 at 9:22 AM, Nick Coghlan <ncoghlan at gmail.com> >> wrote: >> >> Guido van Rossum wrote: >> >>> Because Python promises that the object the callee sees as 'kwargs' >> is >> >>> "just a dict". >> >> >> >> Huh, I thought kwargs was allowed to be implemented as a >> >> string-keys-only dict (similar to class and module namespaces) while >> >> still be a valid Python implementation. I guess I was wrong. >> > >> > Actually I don't know about that. Is there language anywhere in the >> > language reference that says this? What do IronPython, Jython, PyPy >> > actually do? >> >> Similar to CPython, PyPy has dict versions optimized for strings, >> which fall back to the general version when given non-string keys. > > IronPython as well. The only place we use a string only dict is for > new-style classes whose dict's are wrapped in a dictproxy.
And yet that breaks some code :-) Sure, if you do: class C(object): locals()[object()] = 42 dir(C) You lose. Once I'm aware of some piece of code in the wild doing this then I'll be happy to change IronPython to be more compatible. :)
There was one thing in sqlalchemy tests, not sure exactly why. There were also other things that I've seen, but consequently it was decided that it's only accidentally working on CPython and namespace should contain string-only keys.
Cheers, fijal
- Previous message: [Python-Dev] Very Strange Argument Handling Behavior
- Next message: [Python-Dev] Very Strange Argument Handling Behavior
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]