<div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Sep 2, 2015 at 6:26 PM, Tim Peters <span dir="ltr"><<a href="mailto:tim.peters@gmail.com" target="_blank">tim.peters@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div id=":48b" class="" style="overflow:hidden">There are still questions, like, e.g., what<br>
<br>
    fold_aware_datetime + timedelta<br>
<br>
should do when fold=1, but only in my variation of what you proposed.<br>
You proposed mixing "pay attention to fold" with "timeline<br>
arithmetic", which leaves no choice.  Alex and I seem to disagree<br>
about what to do when "only pay attention to fold" is meant instead.</div></blockquote></div><br>This is one of those cases where I don't have a strong opinion.  Unlike the datetime - datetime case where we have a strong argument to do timeline arithmetic in the presence of fold=1 (namely to preserve the hash invariant),</div><div class="gmail_extra">any choice here will lead to surprises.</div><div class="gmail_extra"><br></div><div class="gmail_extra">What should [01:30/fold=1] - (1 hour) yield?  Given that [01:30/fold=0] + (1 hour) = [02:30/fold=0] and  [00:30/fold=0] + (1 hour) = [01:30/fold=0], both answers [01:30/fold=0] and [00:30/fold=0] are equally wrong.  The third possibility,  [00:30/fold=1] is probably more wrong than the first two.</div><div class="gmail_extra"><br></div><div class="gmail_extra">Whatever logic we will end up implementing will likely need to be modified by the applications to fit their needs.  In this case, I think we need to provide the faster to compute option so that applications don't end up undoing some expensive operations.</div><div class="gmail_extra"><br></div><div class="gmail_extra">As Guido said, arithmetic is a way to move the hands of the clock.  It does not need to be a way to mess with the fold attribute.</div></div>