[Python-Dev] Guarantee ordered dict literals in v3.7? (original) (raw)

Nathaniel Smith njs at pobox.com
Tue Nov 7 15:05:50 EST 2017


On Nov 7, 2017 12:02 PM, "Barry Warsaw" <barry at python.org> wrote:

On Nov 7, 2017, at 09:39, Paul Sokolovsky <pmiscml at gmail.com> wrote:

So, the problem is that there's no "Python language spec”.

There is a language specification: https://docs.python.org/3/refe rence/index.html

But there are still corners that are undocumented, or topics that are deliberately left as implementation details.

Also, specs don't mean that much unless there are multiple implementations in widespread use. In JS the spec matters because it describes the common subset of the language you can expect to see across browsers, and lets the browser vendors coordinate on future changes. Since users actually target and test against multiple implementations, this is useful. In python, CPython's dominance means that most libraries are written against CPython's behavior instead of the spec, and alternative implementations generally don't care about the spec, they care about whether they can run the code their users want to run. So PyPy has found that for their purposes, the python spec includes all kinds of obscure internal implementation details like CPython's static type/heap type distinction, the exact tricks CPython uses to optimize local variable access, the CPython C API, etc. The Pyston devs found that for their purposes, refcounting actually was a mandatory part of the python language. Jython, MicroPython, etc make a different set of compatibility tradeoffs again.

I'm not saying the spec is useless, but it's not magic either. It only matters to the extent that it solves some problem for people.

-n -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://mail.python.org/pipermail/python-dev/attachments/20171107/ccb65dd0/attachment-0001.html>



More information about the Python-Dev mailing list