- Remove changes to comprehension scope
- Make := in comprehensions assign to containing non-comprehension scope
- Clarify binding precedence (tighter than comma, not at same level as =)
- Remove mention of more complex targets in the future
- Explicitly disallow toplevel :=
- Rewrite section on differences with =, enumerating all of them
- Remove "here's how this could be written without :=" from examples
- Tweak first paragraph of "Syntax and semantics"
- Add "Exception cases" (various explicit prohibitions)
- Clarify that lambda is a containing scope
- Clarify that := and = just don't mix
- Added "Open questions" section
- Added two new rejected alternatives: "Allowing commas to the right"
and "Always requiring parentheses"
- Minor edits
* Start a section on real code
* Correct/clarify "commas to the right" section
* Add Tim and Guido as authors
* Update abstract to mention :=
* Rule out targets conflicting with comprehension loop control
* Add timcode.txt as Appendix A
* Add os.fork() example
* Add TODOs about evaluation order
Competing proposal for PEP 572 that focuses on allowing
augmented assignments as expressions, and treats
"NAME := EXPR" primarily as an explanatory tool for
the updated augmented assignment semantics.
Follow-up to GH-648
The genpepindex script requires the headers to be in a particular order.
In pep-0539.txt the order was different, breaking the build for everyone.
* Rename `@runtime` to `@runtime_checkable`
* Postpone making mappings and sequences protocols, this can be done later in Python 3.8
* Update the implementation status
* More strict and precise specification for `isinstance()` and `issubclass()` with protocols.
* Few typos
* Allow the `python` command to not be installed, and other minor edits
- Distributions can omit the ``python`` command even when
``python2`` is installed in test environments, build systems,
and other controlled environments where being explicit is
valued more than user experience.
- Users, by a deliberate action, change
``python`` to invoke Python 3. Activating a venv counts as
such an action.
- Other edits and clarifications
* Add myself as an author
This removes any reference to the technical details of online PEP
publication from PEP 1, replacing it with a reference to the
README in the PEP repository.
It also updates the README with relevant cross-references to the
pythondotorg project (based on some process pointers provided by
Mariatta Wijaya).
Resolves GH-575.