# Agenda for the 77th meeting of Ecma TC39 - **Host**: Microsoft - **Dates and times**: - 10:00 to 15:00 PT (UTC -7) on July 20th, 2020 - 10:00 to 15:00 PT (UTC -7) on July 21st, 2020 - 10:00 to 15:00 PT (UTC -7) on July 22nd, 2020 - 10:00 to 15:00 PT (UTC -7) on July 23rd, 2020 - **Location**: Remote (was Redmond) - **Attendee information**: https://github.com/tc39/Reflector/issues/288 Allen's paper on standards committee participation for new attendees: http://wirfs-brock.com/allen/files/papers/standpats-asianplop2016.pdf ## Agenda topic rules Deadline for advancement eligibility: [**July 10th, 2020, 10:00 PT**](https://www.timeanddate.com/countdown/generic?p0=1440&iso=20200710T17&msg=TC39%20Submiss%20%20%20%20ion%20deadline) - Note: this time is selected to be precisely 10 days prior to the start of the meeting 1. Proposals not looking to advance may be added at any time; if after the deadline, please always use a pull request so that members are notified of changes. 1. Proposals seeking feedback at stage 0 must be added (and noted as such) prior to the deadline, or else delegates may object to advancement solely on the basis of missing the deadline. 1. Such proposals *should* include supporting materials when possible. 1. Proposals looking to advance to stage 1 must be added (and noted as such) prior to the deadline, or else delegates may object to advancement solely on the basis of missing the deadline. 1. Such proposals *must* link to a proposal repository and they *should* link to supporting materials when possible. 1. Proposals looking to advance to stages 2, 3, or 4 must be added (and noted as such) *along with the necessary materials* prior to the deadline, or else delegates may object to advancement solely on the basis of missing the deadline. 1. Such proposals *must* link to supporting materials prior to the deadline, or else delegates may object to advancement solely on the basis of missing the deadline. If these materials change substantially after the deadline, the proposal may be disqualified from advancement, based on the committee’s judgment. 1. Proposals looking to advance to stage 4 *must* link to a pull request into [the spec](https://github.com/tc39/ecma262), since the [process](https://tc39.github.io/process-document/) requires one. 1. Proposal-based agenda items should be sorted primarily by stage (descending), secondarily by timebox (ascending), and finally by insertion date. Supporting materials includes slides, a link to the proposal repository, a link to spec text, etc.; essentially, anything you are planning to present to the committee, or that would be useful for delegates to review. ## Agenda items 1. Opening, welcome and roll call (Chair) 1. Opening of the meeting 1. TC39 follows its [Code of Conduct](https://tc39.github.io/code-of-conduct/) 1. Introduction of attendees 1. Host facilities, local logistics 1. Quick recap of meeting IPR policy 1. Overview of communication tools 1. Find volunteers for note taking 1. Adoption of the agenda 1. Approval of the minutes from last meeting 1. Next meeting host and logistics 1. Secretary's Report (15m, Istvan Sebestyen) 1. Project Editors’ Reports 1. [ECMA262](https://github.com/tc39/ecma262) Status Updates (15m) 1. [ECMA402](https://github.com/tc39/ecma402) Status Updates (15m) 1. [ECMA404](https://www.ecma-international.org/publications/standards/Ecma-404.htm) Status Updates (15m) 1. [Test262](https://github.com/tc39/test262) Status Updates (15m) 1. Updates from the [CoC Committee](https://tc39.es/code-of-conduct/#code-of-conduct-committee) (15m) 1. [Web compatibility issues](https://github.com/tc39/ecma262/issues?utf8=✓&q=is%3Aopen+label%3A%22web+reality%22+is%3Aissue) / [Needs Consensus PRs](https://github.com/tc39/ecma262/pulls?q=is%3Apr+is%3Aopen+label%3A%22needs+consensus%22) | ✓ | timebox | topic | presenter | |:-:|:-------:|-------|-----------| | | 10m | retroactive consensus on Unicode 13 property names and aliases ([#1896](https://github.com/tc39/ecma262/pull/1896#issuecomment-642301441), [#1939](https://github.com/tc39/ecma262/pull/1939)) | Michael Ficarra | | | 15m | Specify \8 and \9 in sloppy (non-template) strings ([#2054](https://github.com/tc39/ecma262/pull/2054)) | Ross Kirsling | | | 15m | adding Reflect[Symbol.toStringTag] ([#2057](https://github.com/tc39/ecma262/pull/2057)) | Jordan Harband | | | 15m | Should eval?.() be direct eval? ([#2062](https://github.com/tc39/ecma262/issues/2062), [#2063](https://github.com/tc39/ecma262/pull/2063)) | Ross Kirsling | | | 15m | [Host hooks for Job callbacks](https://github.com/tc39/ecma262/pull/2086) | Shu-yu Guo | | | 30m | [fix Function toString for builtins](https://github.com/tc39/ecma262/pull/1948) | Gus Caplan, Jordan Harband | 1. Overflow from previous meeting | ✓ | timebox | topic | presenter | |:-:|:-------:|-------|-----------| | | 30m | [Operator overloading](https://github.com/tc39/proposal-operator-overloading): a good direction for JS? | Daniel Ehrenberg | | | 45m | [Cognitive Dimensions of Notation](https://docs.google.com/presentation/d/1OpKfS5UYgcwmBuejoSOBpbgsYXXzO0gG7GJHo65UXPE/edit#slide=id.p): a framework for reflecting on language design | Yulia Startsev and Felienne Hermans | 1. Incubation call chartering (15m on the last day) 1. Short (≤30m) Timeboxed Discussions | ✓ | timebox | topic | presenter | |:-:|:-------:|-------|-----------| 1. Proposals ✓ represents an agenda item which has been presented, and does not indicate stage advancement | ✓ | stage | timebox | topic | presenter | | :-: | :---: | :-----: | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------- | | | 3 | 5m | [NumericLiteralSeparator for Stage 4](https://github.com/tc39/ecma262/pull/2043) ([slides](https://docs.google.com/presentation/d/1rLT5m3d0yk2KMlka4KZKf2uz9oITdpfr6evAV_jaKcc/edit?usp=sharing)) | Rick Waldron, Sam Goto, Leo Balter | | | 3 | 10m | [Intl.ListFormat for Stage 4](https://github.com/tc39/proposal-intl-list-format) | Zibi Braniecki | | | 3 | 10m | [Intl.DateTimeFormat dateStyle/timeStyle for Stage 4](https://github.com/tc39/proposal-intl-datetime-style) | Zibi Braniecki | | | 3 | 15m | [`Promise.any` & `AggregateError`](https://github.com/tc39/proposal-promise-any) for stage 4 ([slides](https://docs.google.com/presentation/d/1PcfPP5nLVG8w5OosQt5PWwOmFUPuD5pg1rgGaF1JVis/edit)) ([PR](https://github.com/tc39/ecma262/pull/2040)) | Mathias Bynens | | | 3 | 15m | [WeakRefs](https://github.com/tc39/proposal-weakrefs/) for Stage 4 and [CleanupSome](https://github.com/codehag/proposal-cleanup-some) for stage 3 | Daniel Ehrenberg, Yulia Startsev | | | 3 | 15m | [Logical Assignment](https://github.com/tc39/proposal-logical-assignment/) for Stage 4 ([PR](https://github.com/tc39/ecma262/pull/2030), [slides](https://docs.google.com/presentation/d/1rq448C-mzxWzBs6RTInczGTjs4xv5gQenDJY1fGogX0/edit?usp=sharing)) | Justin Ridgewell | | | 2 | 15m | [Ergonomic brand checks for private fields][private-fields-in-in] for stage 3 ([issue](https://github.com/tc39/proposal-private-fields-in-in/issues/7)) | Jordan Harband | | | 2 | 15m | Temporal Stage 2 update | Philip Chimento or TBD | | | 2 | 30m | [Intl.Segmenter](https://github.com/tc39/proposal-intl-segmenter) for Stage 3 ([slides](https://docs.google.com/presentation/d/1LOOt4WPvQdOK3banHkz1V8sdl8Z-7Z9jXBRRS9Ek8-M/edit?usp=sharing), [spec text](https://tc39.es/proposal-intl-segmenter/)) | Richard Gibson | | | 1 | 15m | [Symbol as WeakMap key](https://github.com/tc39/proposal-symbols-as-weakmap-keys) for Stage 2 ([spec](https://arai-a.github.io/ecma262-compare/?pr=2038), [slides](https://docs.google.com/presentation/d/1AofgrikRJp4vTc_tqlchDk4DU9p4eqZdyxnlrFEYsvc/edit#slide=id.p)) | Daniel Ehrenberg | | | 1 | 15m | [.item()](https://github.com/tabatkins/proposal-item-method) for Stage 2 (Slides forthcoming) | Shu-yu Guo, Tab Atkins | | | 1 | 20m | [Number.range](https://github.com/Jack-Works/proposal-Number.range) for Stage 2 ([spec](http://tc39.es/proposal-Number.range/), [slides](https://docs.google.com/presentation/d/116FDDK2klJoEL8s2Q7UXiDApC681N-Q9SwpC0toAzTU/edit#slide=id.p)) | Jack Works | | | 1 | 20m | [Slice notation](https://github.com/tc39/proposal-slice-notation) for Stage 2 ([spec](http://tc39.es/proposal-slice-notation/)) | Sathya Gunasekaran | | | 1 | 30m | [Numeric literal suffixes](https://github.com/tc39/proposal-extended-numeric-literals) update: separate namespace version | Daniel Ehrenberg | | | 1 | 30m | [Record and Tuple for Stage 2](https://github.com/tc39/proposal-record-tuple) ([spec](https://tc39.es/proposal-record-tuple/), [slides](https://button.dev/talks/record-and-tuple-tc39-july-2020.pdf)) | Robin Ricard & Rick Button | | 0 | 15m | [await operations](https://github.com/Jack-Works/proposal-await.ops) for Stage 1 ([spec](https://jack-works.github.io/proposal-await.ops/), [slides](https://docs.google.com/presentation/d/116FDDK2klJoEL8s2Q7UXiDApC681N-Q9SwpC0toAzTU/edit#slide=id.g89f56b0333_1_40)) | Jack Works | | | 0 | 15m | [Array.prototype.unique() proposal](https://github.com/TechQuery/array-unique-proposal) for Stage 1 ([slides](https://docs.google.com/presentation/d/116FDDK2klJoEL8s2Q7UXiDApC681N-Q9SwpC0toAzTU/edit#slide=id.g89f56b0333_1_150)) | [@TechQuery](https://github.com/TechQuery) (presented by Jack Works) | | | 0 | 15m | Forbid Numeric [Separators in NonOctalDecimalIntegerLiteral fractional / exponent parts](https://github.com/tc39/proposal-numeric-separator/issues/49) | Leo Balter, Ross Kirsling | | | 0 | 45m | [ResizableArrayBuffer and GrowableSharedArrayBuffer](https://github.com/syg/proposal-resizablearraybuffer) for Stage 1 (slides forthcoming) | Shu-yu Guo | | | 0 | 45m | [Async Context](https://github.com/legendecas/proposal-async-context) updates & for Stage 1 (slides forthcoming) | Chengzhong Wu | | | 2 | 45m | [Upsert (now renamed emplace)](https://github.com/tc39/proposal-upsert) updates & for Stage 3 ([slides](https://docs.google.com/presentation/d/16PtTpuvkTFycaaqkk5XGZRPLNwzUrzBuN9y7VSrGX9k/edit?usp=sharing)) | Bradley Farias | 1. Longer or open-ended discussions | ✓ | timebox | topic | presenter | |:-:|:-------:|-------|-----------| | | 15m | [Flex Incubator Calls to weekly meetings](https://github.com/tc39/Reflector/issues/300) | Leo Balter | | | 30m | Documenting Invariants, ([repo](https://github.com/codehag/documenting-invariants), [slides](https://docs.google.com/presentation/d/1a9-E87grtSbFGTHMfEJJoVjbHbSTe2PH_ed8StssZ_w/edit#slide=id.p)) | Yulia Startsev | 1. Overflow from timeboxed agenda items (in insertion order) | ✓ | topic | presenter | |:-:|-------|-----------| 1. Other business 1. Thank host 1. Adjournment ### Schedule constraints - Mathias is only available on July 21st from 10:00 to 11:00 PT (UTC -7) — could we schedule the `Promise.any` & `AggregateError` item then? - Philip Chimento (Temporal) only available Monday and Tuesday - Felienne Hermans (Cognitive Dimensions of Notation) only available Monday. Preferably earlier. - Documenting Invariants talk should happen before discussion of Specific Invariant Topics. ## Dates and locations of future meetings | Dates | Location | Host | |--------------------------|--------------------------------|-------------------------| | 2020-09-21 to 2020-09-24 | Remote (was Tokyo, Japan) | Bloomberg | | 2020-11-16 to 2020-11-19 | Remote (was Budapest, Hungary) | IBM | [private-fields-in-in]: https://github.com/tc39/proposal-private-fields-in-in