<commit_before># Clock, Instant, and Duration

* Proposal: [SE-0329](0329-clock-instant-date-duration.md)
* Author(s): [<NAME>](https://github.com/phausler)
* Review Manager: [<NAME>](https://github.com/rjmccall)
* Status: **Active Review (January 7th...17th, 2022)**
* Implementation: [apple/swift#39753](https://github.com/apple/swift/pull/39753)
* Review: ([first review](https://forums.swift.org/t/se-0329-clock-instant-date-and-duration/53309)) ([returned for revision](https://forums.swift.org/t/returned-for-revision-se-0329-clock-instant-date-and-duration/53635))

## Revision history
* **v1** Initial pre-pitch
* **v1.1** Refinement to clock, deadline and duration types
  * Expanded to include a Deadline type
  * Posed a Clock defined type protocol grouping instead of Duration based protocol grouping (Clock -> Deadline -> Duration rather than Duration + Clock)
* **v1.2**
  * Removed the DurationProtocol concept to aide ease of use and simplify implementations
  * Introduced WallClock.Duration as the lowered Date type
* **v1.3**
  * Rename Deadline to Instant since that makes a bit more sense generally (especially for Date)
  * Add the requirement of a referencePoint to ClockProtocol
* **v1.4**
  * Move the concept of `now` to the protocol requirement for clocks as an instance method
  * Move the `duration(from:to:)` to an instance method on `InstantProtocol`
  * Add a number of really useful operators
  * Concrete clock types now have `.now` on their `Instant` types
  * Added an example ManualClock
* **v1.4.1**<commit_msg>Link to the second review thread for SE-0329<commit_after># Clock, Instant, and Duration

* Proposal: [SE-0329](0329-clock-instant-date-duration.md)
* Author(s): [<NAME>](https://github.com/phausler)
* Review Manager: [<NAME>](https://github.com/rjmccall)
* Status: **Active Review (January 7th...17th, 2022)**
* Implementation: [apple/swift#39753](https://github.com/apple/swift/pull/39753)
* Review: ([first review](https://forums.swift.org/t/se-0329-clock-instant-date-and-duration/53309)) ([returned for revision](https://forums.swift.org/t/returned-for-revision-se-0329-clock-instant-date-and-duration/53635)) ([second review](https://forums.swift.org/t/se-0329-second-review-clock-instant-and-duration/54509))

## Revision history
* **v1** Initial pre-pitch
* **v1.1** Refinement to clock, deadline and duration types
  * Expanded to include a Deadline type
  * Posed a Clock defined type protocol grouping instead of Duration based protocol grouping (Clock -> Deadline -> Duration rather than Duration + Clock)
* **v1.2**
  * Removed the DurationProtocol concept to aide ease of use and simplify implementations
  * Introduced WallClock.Duration as the lowered Date type
* **v1.3**
  * Rename Deadline to Instant since that makes a bit more sense generally (especially for Date)
  * Add the requirement of a referencePoint to ClockProtocol
* **v1.4**
  * Move the concept of `now` to the protocol requirement for clocks as an instance method
  * Move the `duration(from:to:)` to an instance method on `InstantProtocol`
  * Add a number of really useful operators
  * Concrete clock types now have `.now` on their `Instant` types
  * Added an example ManualClock
* **v1.4.1**
{'fraction_non_alphanumeric': 0.12755417956656348, 'fraction_numerical': 0.03808049535603715, 'mean_word_length': 4.698412698412699, 'pattern_counts': {'":': 0, '<': 7, '<?xml version=': 0, '>': 11, 'https://': 11, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '7478123', 'n_tokens_mistral': 1098, 'n_tokens_neox': 965, 'n_words': 320}