# 104^th^ Meeting of TC39
- TCQ: https://tcq.app/meeting/49Hq
- Agenda: https://github.com/tc39/agendas/blob/main/2024/10.md
- Reflector: https://github.com/tc39/Reflector/issues/537
## Agenda key
When applicable, use these emoji as a prefix to the agenda item topic.
| Emoji | Meaning |
| :---: | :--- |
| ❄️ | hard schedule constraints apply to this agenda item (e.g. presenter) |
| 🔒 | schedule constraints apply to this agenda item |
| ⌛️ | late addition for stage advancement and/or schedule prioritization |
| 🔁 | continuation of a previous agenda item |
## Day 1 ([notes](https://docs.google.com/document/d/1fMLSfomwNLvdnd2EjmSMdjTZE1amr2SHf0yAeHarHcU/edit))
<details>
<summary>10:00 to 17:30 Asia/Tokyo (UTC + 9) on Tuesday</summary>
### 10:00-12:00 (full)
- Opening & Welcome (15m, Rob Palmer)
- Opening of the meeting
- TC39 follows its Code of Conduct
- Introduction of attendees
- Host facilities, local logistics
- Overview of communication tools
- Quick recap of meeting IPR policy
- Reminder to review Github Delegate teams (Jordan Harband)
- <details>
<summary>Note about meeting transcriptions</summary>
A detailed transcript of the meeting is being prepared and will be eventually posted on GitHub. You may edit this at any time during the meeting in Google Docs for accuracy, including deleting comments which you do not wish to appear. You may also request corrections or deletions after the fact, by editing the Google Doc (in the first two weeks after the TC39 meeting) or subsequently making a PR in the notes repository or contacting the TC39 chairs.
</details>
- 🗒️ Call for note-takers
- Adoption of the agenda
- The agenda doth runneth over; please be mindful.
- Presenters: please be on the lookout for messages from chairs; we will try to move topics forward as time allows, while still respecting constraints.
- Approval of the minutes from last meeting
- Next meeting host and logistics
- Secretary's Report ([slides](TBD)) (15m, Aki Rose-Braun)
- Project Editors’ Reports
- [ECMA262](https://github.com/tc39/ecma262) Status Updates (10m, Shu-yu Guo)
- [ECMA402](https://github.com/tc39/ecma402) Status Updates (5m, Ben Allen)
- [ECMA404](https://www.ecma-international.org/publications/standards/Ecma-404.htm) Status Updates (1m, Chip Morningstar)
- [Test262](https://github.com/tc39/test262) Status Updates (5m, Philip Chimento)
- Task Group Reports
- TG3: Security (1m, Chris de Almeida)
- TG4: Source Map Specification, 2024 edition approval (30m, Jonathan Kuperman)
- TG5: Experiments in Programming Language Standardization (5m, Mikhail Barash)
- Updates from the [CoC Committee](https://tc39.es/code-of-conduct/#code-of-conduct-committee) (1m, Chris de Almeida)
- [iterator sequencing](https://github.com/tc39/proposal-iterator-sequencing) for Stage 2.7 ([spec](https://tc39.es/proposal-iterator-sequencing/), [slides](https://docs.google.com/presentation/d/1Z5Bz_4xpwRX7tjwmrMakrj3_II8Qy40fnAq-TrPdt0U)) (20-45m, Michael Ficarra)
- [Regular Expression Modifiers](https://github.com/tc39/proposal-regexp-modifiers) and Needs Consensus [PR](https://github.com/rbuckton/ecma262/pull/12) for Stage 4 ([PR](https://github.com/tc39/ecma262/pull/3221), [slides](https://1drv.ms/p/s!AjgWTO11Fk-Tkr0bZS4Dw79XSH9V-w?e=PIuioJ)) (10m, Ron Buckton)
- ❄️ [Import Attributes](https://github.com/tc39/proposal-import-attributes) and [JSON modules](https://github.com/tc39/proposal-json-modules) for stage 4 ([PR](https://github.com/tc39/ecma262/pull/3057), [PR](https://github.com/tc39/ecma262/pull/3391)) (5m, Nicolò Ribaudo)
- [iterator helpers](https://github.com/tc39/proposal-iterator-helpers) for Stage 4 ([PR](https://github.com/tc39/ecma262/pull/3395), [slides](https://docs.google.com/presentation/d/1z9kpu_CITxmNls7aOn61uswOK1SqHqijngtMcDTo8zk)) (10-15m, Michael Ficarra)
### Lunch (60 minutes)
### 13:00-17:30 (full)
- ❄️ [Source phase imports](https://github.com/tc39/proposal-source-phase-imports) error type change ([PR](https://github.com/tc39/proposal-source-phase-imports/pull/65)) (5m, Guy Bedford)
- ❄️ [Proposal ESM Phase Imports](https://github.com/tc39/proposal-esm-phase-imports) update (30m, Guy Bedford)
- ❄️🔒 [Structs and shared structs](https://github.com/tc39/proposal-structs) for stage 2 ([spec](https://tc39.es/proposal-structs/), [slides](https://docs.google.com/presentation/d/1_LOkmaeM0S-VOvhJ28eeDJUmkMeHVyltxSt1lGLF5iA/edit?usp=sharing)) (60m, Shu-yu Guo, Ron Buckton)
- Porffor JS engine - Compiling JS ahead-of-time (30m, Oliver Medhurst)
- 15 minute break
- ❄️🔒 JSSugar/JS0 ([slides](https://docs.google.com/presentation/d/1ylROTu3N6MyHzNzWJXQAc7Bo1O0FHO3lNKfQMfPOA4o/edit?usp=sharing)) (90m, Shu-yu Guo)
- [Normative: Fix bug with RelativeTimeFormat and DateTimeFormat not correctly passing "numberingSystem" option to NumberFormat](https://github.com/tc39/ecma402/pull/919) (5m, Ben Allen)
- [Normative: Explicitly designate sort order for plural categories returned by Intl.PluralRules.prototype.resolvedOptions](https://github.com/tc39/ecma402/pull/918) (5m, Ben Allen)
- [Normative: When formatting currency values, only use data on the number of minor units used to display that currency when using standard notation](https://github.com/tc39/ecma402/pull/925) (5m, Ben Allen)
- Exploring an Idea of a Proposal Management and Technical Arbitration Tool (20m, Mikhail Barash)
</details>
## Day 2 ([notes](https://docs.google.com/document/d/1qTHzq0_CuaDPxzATGMQVrt9L0sN5fcfxJ6rOKwbL6AY/edit))
<details>
<summary>10:00 to 17:30 Asia/Tokyo (UTC + 9) on Wednesday</summary>
### 10:00-12:00 (full)
- [Intl.DurationFormat](https://github.com/tc39/proposal-intl-duration-format) do not include grouping separators in numeric-like styles ([PR](https://github.com/tc39/proposal-intl-duration-format/pull/198)) (5m, Ben Allen)
- [Normative: Allow use of non-ISO 4217 data in CurrencyDigits AO](https://github.com/tc39/ecma402/pull/922) (15m, Ben Allen)
- ❄️ [Temporal](https://github.com/tc39/proposal-temporal) progress update ([Slides](https://ptomato.name/talks/tc39-2024-10/)) (10m, Philip Chimento)
- ❄️ [Make `toSorted` methods stable](https://github.com/tc39/ecma262/issues/3424) (5m, Kevin Gibbons)
- ❄️ [Math.sumPrecise](https://github.com/tc39/proposal-math-sum) for stage 3 & last chance to suggest other names ([tests](https://github.com/tc39/test262/pull/4049)) (15m, Kevin Gibbons)
- ❄️ [Map.emplace](https://github.com/tc39/proposal-upsert) stage 2 update ([Slides](https://docs.google.com/presentation/d/1l95mluNq5GqJCj-4o1BqihlufnKuRF2rualJxfOvGu4/)) (30m, Daniel Minor)
- [Extractors](https://github.com/tc39/proposal-extractors) for Stage 2 ([spec](https://tc39.es/proposal-extractors/), [slides](https://1drv.ms/p/s!AjgWTO11Fk-Tkr0Z2sm9bVmO_agqpA?e=7TdVup)) (60m, Ron Buckton)
### Lunch (60 minutes)
### 13:00-17:30 (full)
- ❄️ [Decimal](https://github.com/tc39/proposal-decimal/) stage 1 update ([slides](https://notes.igalia.com/p/tc39-decimal-october-2024/)) (60m, Jesse Alama & Nicolò Ribaudo)
- [ArrayBuffer construction step order](https://github.com/tc39/ecma262/issues/3388) (15m, Richard Gibson)
- [`Promise.try`](https://github.com/tc39/proposal-promise-try/issues/15) for Stage 4 ([PR](https://github.com/tc39/ecma262/pull/3327)) (15m, Jordan Harband)
- Explicit compile hints ([slides](https://docs.google.com/presentation/d/1X1k-rzMlqLS3MC-pgogVJZqPTIfUyLIo7H4TOFhCStg/edit?usp=sharing), [explainer](https://github.com/explainers-by-googlers/explicit-javascript-compile-hints-file-based), [spec draft](https://explainers-by-googlers.github.io/explicit-javascript-compile-hints-file-based/)) (30m, Marja Hölttä)
- [#3385](https://github.com/tc39/ecma262/issues/3385) (30m, Shu-yu Guo)
- 15 minute break
- [Atomics.pause](https://github.com/tc39/proposal-atomics-microwait) for stage 3 ([spec](https://tc39.es/proposal-atomics-microwait/)) (45m, Shu-yu Guo)
- [Discard (`void`) Bindings](https://github.com/tc39/proposal-discard-binding) update ([spec](https://tc39.es/proposal-discard-binding/), [slides](https://1drv.ms/p/s!AjgWTO11Fk-Tkr1WMJUD3IiTYZINVQ?e=fyNJaA)) (30m, Ron Buckton)
- [AsyncContext](https://github.com/tc39/proposal-async-context/) updates (15m, Andreu Botella)
- [`Array.zip`](https://github.com/ljharb/proposal-array-zip) for stage 1, or 2, or 2.7 (30m, Jordan Harband)
- [iterator chunking](https://github.com/tc39/proposal-iterator-chunking) for Stage 2 ([spec](https://tc39.es/proposal-iterator-chunking/), [slides](https://docs.google.com/presentation/d/1V2pFMn0s6UIdrjbfaBlfdu9XE4v3u6qD2gBwLRycVr8)) (10-30m, Michael Ficarra)
- [Error.isError](https://github.com/tc39/proposal-is-error/issues/7) for stage 2.7 (20m, Jordan Harband)
- [Restricting subclassing support in built-in methods: Telemetry Results (Firefox)](https://github.com/tc39/proposal-rm-builtin-subclassing) Update ([slides](https://docs.google.com/presentation/d/1J0xct8EHUC90P6QpggISxuAp_5L_qaDa3SZ9gQaB0kA/edit#slide=id.p)) (20m, Yulia Startsev & Matthew Gaudet)
</details>
## Day 3 ([notes](https://docs.google.com/document/d/1dUyijxZ9TIby0GpErP9FtD7U4JaQzcUHta8j4dqMILc/edit))
<details open>
<summary>10:00 to 17:00 Asia/Tokyo (UTC + 9) on Thursday</summary>
### 10:00-12:00 (full)
- 🔒 [Immutable ArrayBuffers](https://github.com/Agoric/tc39-proposal-immutable-arraybuffer) for Stage 1 ([spec](https://papers.agoric.com/tc39-proposal-immutable-arraybuffer/), [Keynote slides](https://github.com/Agoric/tc39-proposal-immutable-arraybuffer/blob/main/immu-arrayBuffers.key), [pdf slides](https://github.com/Agoric/tc39-proposal-immutable-arraybuffer/blob/main/immu-arrayBuffers.pdf)) (60m, Mark S. Miller)
- 🔒 [DataView get/set Uint8Clamped methods](https://github.com/tc39/proposal-dataview-get-set-uint8clamped) for stage 2 (60m, Jordan Harband)
- [Discard (`void`) Bindings](https://github.com/tc39/proposal-discard-binding): Request for Stage 3 reviewers (2m, Ron Buckton)
- [Smart Units](https://github.com/ben-allen/proposal-smart-unit-preferences) stage 1 update (20m, Ben Allen)
### Lunch (60 minutes)
### 13:00-16:00 (needs calc)
- [Measure object](https://github.com/ben-allen/proposal-measure) stage 0 (30m, Ben Allen)
- ❄️ [import defer](https://github.com/tc39/proposal-defer-import-eval/) updates regarding evaluation triggers ([slides](https://docs.google.com/presentation/d/1yFbqn6px5rIwAVjBbXgrYgql1L90tKPTWZq2A5D6f5Q/edit)) (30m, Nicolò Ribaudo)
- 20 minute break
- 🔁 Continuation: TG4: Source Map Specification, 2024 edition approval (5m, Jonathan Kuperman)
- 🔁 Continuation: JSSugar/JS0 ([slides](https://docs.google.com/presentation/d/1ylROTu3N6MyHzNzWJXQAc7Bo1O0FHO3lNKfQMfPOA4o/edit?usp=sharing)) (30m, Shu-yu Guo)
- Closing remarks (5m, Riki)
</details>
***
## Overflow
### From agenda
### Timebox overrun
## Schedule constraints
### Normal Constraints
- Daniel Minor can only present `Map.emplace` before 1pm JST, and would like to attend "JSSugar/JS0" with the same time constraint.
- Dominic Farolino can only present the `Observable` API between 10am JST and
1pm JST, either Tuesday the 8th, or Wednesday the 9th.
- Nicolò Ribaudo prefers to present in the afternoons, and prefers the JSSugar discussion to happen on the last day.
- Guy Bedford is available to present before 2pm JST any day, with a preference for 1pm - 2pm JST
- Peter Hoddie would like to attend "Immutable ArrayBuffers", "JSSugar/JS0", and "DataView get/set Uint8Clamped methods" but is only available before 1pm JST (all days).
- Kevin Gibbons is only available before 3pm JST and would weakly like to attend the Shared Structs item, though if it proves impossible to accomodate this in addition to everyone else's constraints it's fine.
- Shu-yu Guo would like to present Shared Structs before JSSugar/JS0. No absolute time constraints, just relative. The two items don't need to be consecutive or anything, just relatively ordered.
- Mathieu Hofman would like to be present for Shared Structs, but is not available Wed 9.
- The Temporal champions would prefer to schedule the 10-minute Temporal update early in the Tokyo day, but we're flexible about which day and what time.
- Ryan Hunt is only available before 1pm JST and would like to attend the Shared Structs item. It's okay if that is not possible.
### Late-breaking Schedule Constraints
- Shu-yu Guo prefers the JSSugar/JS0 topic be presented before Day 3.
<style>summary { font-weight: bold; }</style>