It is common to reference to different parts of the specification when
discussing the changes brought about by this PEP. This change makes it
easier to do so by introducing subsections to the main specification.
The characters before the # in a coding declaration line can be spaces, tabs, or form feeds; the escape sequence for a form feed is a `\f`, not a `\v` as is shown here.
- 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