Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(153)

Issue 263300043: Tentative PEP 495 edits

Can't Edit
Can't Publish+Mail
Start Review
Created:
10 years, 1 month ago by GvR
Modified:
10 years, 1 month ago
Reviewers:
sasha
CC:
tim.peters_gmail.com
Visibility:
Public.

Description

Tentative PEP 495 edits

Patch Set 1 #

Total comments: 19
Unified diffs Side-by-side diffs Delta from patch set Stats (+47 lines, -22 lines) Patch
M pep-0495.txt View 14 chunks +47 lines, -22 lines 19 comments Download

Messages

Total messages: 4
sasha
My favorite review tool is a red ballpoint pen, but short of that Rietveld is ...
10 years, 1 month ago (2015-09-21 19:50:41 UTC) #1
GvR
I committed everything that was non-controversial and did the best I could without invoking another ...
10 years, 1 month ago (2015-09-21 20:24:24 UTC) #2
sasha
On Mon, Sep 21, 2015 at 4:24 PM, Guido van Rossum <gvanrossum@gmail.com> wrote: > I ...
10 years, 1 month ago (2015-09-21 21:28:54 UTC) #3
GvR
10 years, 1 month ago (2015-09-21 21:50:33 UTC) #4
Sounds good. I'll approve it in a minute. On Mon, Sep 21, 2015 at 2:28 PM, Alexander Belopolsky < alexander.belopolsky@gmail.com> wrote: > > > On Mon, Sep 21, 2015 at 4:24 PM, Guido van Rossum <gvanrossum@gmail.com> > wrote: > >> I committed everything that was non-controversial and did the best I >> could without invoking another round of review for the rest. >> > > Thanks. > > >> (It was a little painful because Alexander just committed a few other >> changes that affected some of my edits. Please double-check my merges.) >> > > I applied your changed on Github and reviewed the resulting diff. > Everything looks good. > > I also re-read the rendered version and found one case of missing > backticks that I fixed. > > >> >> I think it's now ready to accept. Any last wishes? >> > > s/Draft/Final/ at last? :-) > > PS: The description of the Ukrainian 1990 transition is wrong. I had a > correct description in some early posts on the mailing list, but when I > started writing the PEP, I took information from my Mac assuming it had a > more accurate history. I later discovered that the opposite was true. The > database I had on one of my Linux machines several months ago, was more up > to date than that on the Mac. I am tempted to leave the incorrect > description for others to discover. The history may change again by that > time. :-) > > >> >> On Mon, Sep 21, 2015 at 12:50 PM, <alexander.belopolsky@gmail.com> wrote: >> >>> My favorite review tool is a red ballpoint pen, but short of that >>> Rietveld is as good as anything else (or better). >>> >>> >>> https://codereview.appspot.com/263300043/diff/1/pep-0495.txt >>> File pep-0495.txt (right): >>> >>> https://codereview.appspot.com/263300043/diff/1/pep-0495.txt#newcode129 >>> pep-0495.txt:129: interpretation of ``fold=None``.) If the >>> LGTM >>> >>> https://codereview.appspot.com/263300043/diff/1/pep-0495.txt#newcode176 >>> pep-0495.txt:176: The ``datetime.now()`` method called without arguments >>> will set >>> OK >>> >>> https://codereview.appspot.com/263300043/diff/1/pep-0495.txt#newcode181 >>> pep-0495.txt:181: (the stdlib's fixed-offset time zone implementation, >>> I would prefer "``tzinfo`` implementation" over "time zone >>> implementation." In general I try to use two word "time zone" spelling >>> for the common (vague) notion of a time zone. >>> >>> https://codereview.appspot.com/263300043/diff/1/pep-0495.txt#newcode191 >>> pep-0495.txt:191: is a new feature, separate from the addition of >>> ``fold``.)` The >>> This is fine except for the trailing backtick, but maybe this be moved >>> to the first sentence of the section. E.g. "A new feature is proposed >>> to facilitate conversion from naive datetime instances to aware." >>> >>> https://codereview.appspot.com/263300043/diff/1/pep-0495.txt#newcode207 >>> pep-0495.txt:207: .. comment Is this true? >>> Yes, assuming a post-PEP tz. Maybe this caveat should be mentioned in >>> the "implication" sentence above. >>> >>> https://codereview.appspot.com/263300043/diff/1/pep-0495.txt#newcode237 >>> pep-0495.txt:237: (This is because ``==`` disregards the value of fold >>> -- see below.) >>> OK >>> >>> https://codereview.appspot.com/263300043/diff/1/pep-0495.txt#newcode265 >>> pep-0495.txt:265: ambiguous times.) >>> Great! I was looking for a way to express this concisely. >>> >>> https://codereview.appspot.com/263300043/diff/1/pep-0495.txt#newcode283 >>> pep-0495.txt:283: are not using the ``fold`` attribute.) >>> OK >>> >>> https://codereview.appspot.com/263300043/diff/1/pep-0495.txt#newcode290 >>> pep-0495.txt:290: specification), ``isoformat()``, and ``timetuple()``. >>> Thanks for fixing the grammar and punctuation. If you can think of a >>> way to split this run-on sentence into two (or three!) it will be even >>> better. >>> >>> https://codereview.appspot.com/263300043/diff/1/pep-0495.txt#newcode312 >>> pep-0495.txt:312: pickle payload; and in the first bit of the 1st byte >>> of the >>> Thanks. I was being lazy with this one. >>> >>> https://codereview.appspot.com/263300043/diff/1/pep-0495.txt#newcode322 >>> pep-0495.txt:322: .. comment Have we discussed whether this exception is >>> desirable? I would have expected somehow that the fold bit would be >>> ignored in earlier Python versions. >>> Tim and I independently wrote at some point that an exception would be >>> raised in earlier Pythons even though with the PEP description at the >>> time an invalid instance with a negative hour would be produced. >>> >>> I don't think it is possible to hide fold in the pickle so that it is >>> ignored by older Python, but I added a provision that fold is only >>> written out when the latest pickle protocol is used. >>> >>> I don't think it is a big deal: there are many ways in which newer >>> python can produce pickles that are not readable by the old one. >>> >>> https://codereview.appspot.com/263300043/diff/1/pep-0495.txt#newcode340 >>> pep-0495.txt:340: .. comment I wonder if this is the right choice. It >>> helps the promose that pre-PEP implementations aren't affected (even if >>> they inherit the stdlib fromutc()) but I'm curious if there aren't >>> places where a post-PEP would end up having to copy the stdlib fromutc() >>> and then figure out how to add the fold bit where otherwise they would >>> have been happy with the stdlib version. (E.g. a simple local tz >>> implementation like tzinfo-examples.py.) >>> Tim and I went back and forth on this and each of us changed their >>> positions to the opposite in the process. At the end of the day, we >>> agreed that while a generic backward compatible implementation of >>> fromutc() is possible, we don't want to complicate the existing code and >>> slow down applications that don't care about fold-correctness. >>> >>> The benefit to post-PEP tzinfos would be minimal, because in all cases >>> that we reviewed a custom implementation is both simpler and faster than >>> a generic one. >>> >>> https://codereview.appspot.com/263300043/diff/1/pep-0495.txt#newcode397 >>> pep-0495.txt:397: If the ``utcoffset()``, ``tzname()`` or ``dst()`` >>> method is called on a >>> Thanks. >>> >>> https://codereview.appspot.com/263300043/diff/1/pep-0495.txt#newcode493 >>> pep-0495.txt:493: not have ambiguous times (such as UTC). >>> OK >>> >>> https://codereview.appspot.com/263300043/diff/1/pep-0495.txt#newcode513 >>> pep-0495.txt:513: for hashing and comparisons. If you need an aware >>> intra-zone >>> I would delete "and avoid violating the requirements for hashing and >>> comparisons" from the above. The rule discussed here makes preserving >>> the hash invariant harder, not easier. >>> >>> https://codereview.appspot.com/263300043/diff/1/pep-0495.txt#newcode525 >>> pep-0495.txt:525: operator differently for intra- and inter-zone >>> operations. For >>> Thanks. >>> >>> https://codereview.appspot.com/263300043/diff/1/pep-0495.txt#newcode532 >>> pep-0495.txt:532: and intra-zone datetime subtraction, which each have >>> the mathematical >>> Thanks. >>> >>> https://codereview.appspot.com/263300043/diff/1/pep-0495.txt#newcode536 >>> pep-0495.txt:536: .. comment Was this possible in the pre-PEP world? >>> Would be good to add an explicit example (even if it required a >>> non-stdlib non-pytz timezone -- the naive local zone from the doc >>> examples would probably do). >>> I don't think "``s == t`` but ``s - u != t - u``" is possible with any >>> sane pre-PEP tzinfos. (An insane tzinfo can be constructed by having >>> utcoffset() depend on some internal state.) >>> >>> The point that I make here is that other paradoxes exist now such as >>> ``(t - u) - (s - u) != t - s``. For the latter, it is trivial to >>> construct an example. Do you think we should include one? >>> >>> https://codereview.appspot.com/263300043/diff/1/pep-0495.txt#newcode545 >>> pep-0495.txt:545: exception. Whenever one or both of the operands in >>> inter-zone comparison is >>> Thanks. >>> >>> https://codereview.appspot.com/263300043/ >>> >> >> >> >> -- >> --Guido van Rossum (python.org/~guido) >> > > -- --Guido van Rossum (python.org/~guido) 
Sign in to reply to this message.

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld f62528b