Skip to content
Open
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions spec/plaindate.html
Original file line number Diff line number Diff line change
Expand Up @@ -730,6 +730,7 @@ <h1>
1. If _sign_ × (_d1_ - _isoDate2_.[[Day]]) > 0, return *true*.
1. Return *false*.
</emu-alg>
<emu-note>This operation intentionally uses overflow ~constrain~ when regulating the year-month.</emu-note>
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is it worth explaining why we use ~constrain~ here?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not sure I can clearly explain why. It's just a choice we made for how the algorithm works. There are other choices that could have been made.

Do you want to try?

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I suspect that @ptomato may have more recent knowledge than I do about this.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Well it was actually added by @sffc here: #3138

It's been too long since I read Shane's proof in the comments of that PR, so I don't have context on it anymore.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok, I think the answer is that .until does not know anything about overflow options; only .add accepts such a parameter. As a result, .until returns a duration that subsequently works with .add in overflow constrain mode, but the duration might not work in overflow reject mode.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wrote this up. Is it helpful?

</emu-clause>

<emu-clause id="sec-temporal-regulateisodate" type="abstract operation">
Expand Down