-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
5 changed files
with
106 additions
and
5 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
# 22nd Meeting of TC39-TG3 - 2024-05-08 | ||
|
||
## Folks | ||
|
||
| Present | Name | GH Username | TLA | Affiliation | | ||
| :-----: | ---------------- | --------------- | --- | ----------- | | ||
| ✓ | Chip Morningstar | @FUDCo | CM | Consensys | | ||
| ✓ | Chris de Almeida | @ctcpip | CDA | IBM | | ||
| ✓ | Kris Kowal | @kriskowal | KKL | Agoric | | ||
| ✓ | Mark Miller | @erights | MM | Agoric | | ||
| ✓ | Mathieu Hofman | @mhofman | MAH | Agoric | | ||
| ✓ | Nicolò Ribaudo | @nicolo-ribaudo | NRO | Igalia | | ||
| ✓ | Richard Gibson | @gibson042 | RGN | Agoric | | ||
| ✓ | Ulises Gascon | @UlisesGascon | | One Beyond | | ||
| ✓ | Shay Lewis | @shaylew | | | | ||
|
||
## Agenda | ||
|
||
### Signals proposal discussion | ||
|
||
- concerns with proposal | ||
- MHN | ||
- observable global mutable state | ||
- nothing in js spec has internal state that can be observed and this proposal changes that | ||
- NRO: what is that state? | ||
- MHN: readme mentions there is some global state and is observable through APIs like Watcher | ||
- copy/pasted from plenary notes: MAH asked whether certain powerful APIs such as Signal.subtle.currentComputed (which may represent an unintended communication channel) are needed. The signal champions will follow up on this concern during regular SES calls; it is likely that the subtle APIs can be modified. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,69 @@ | ||
# 23rd Meeting of TC39-TG3 - 2024-05-15 | ||
|
||
## Folks | ||
|
||
> [!NOTE] | ||
> Add a ✓ to the `Present` column in the table below, and add anyone missing. Also add to [the template](../template.md) and [GitHub team](https://github.com/orgs/tc39/teams/tg3) if the individual is a regular attendee. | ||
| Present | Name | GH Username | TLA | Affiliation | | ||
| :-----: | ---------------- | --------------- | --- | ----------- | | ||
| ✓ | Chip Morningstar | @FUDCo | CM | Agoric | | ||
| ✓ | Daniel Veditz | @dveditz | DPV | Mozilla | | ||
| ✓ | Guy Bedford | @guybedford | GB | | | ||
| ✓ | Jasvir Nagra | @jasvir | | Picovisor | | ||
| ✓ | jovonni | | | | | ||
| ✓ | Jordan Harband | @ljharb | JHD | HeroDevs | | ||
| ✓ | Kris Kowal | @kriskowal | KKL | Agoric | | ||
| ✓ | Mark Miller | @erights | MM | Agoric | | ||
| ✓ | Mathieu Hofman | @mhofman | MHN | Agoric | | ||
| ✓ | Nicolò Ribaudo | @nicolo-ribaudo | NRO | Igalia | | ||
| ✓ | Richard Gibson | @gibson042 | RGN | Agoric | | ||
| ✓ | Shay Lewis | @shaylew | | | | ||
| ✓ | Ulises Gascón | @UlisesGascon | | One Beyond | | ||
|
||
## Agenda | ||
|
||
### Guy gives an update on the design of esm phase imports | ||
|
||
#### Summary of what come before (TODO: Add link to slides) | ||
|
||
- **Guy**: Goal is worker insantiation | ||
- **Guy**: Import source for wasm modules gave us the concept of module sources | ||
- **Guy**: We are trying to do the same for JS | ||
- **Kris**: A source is the representation of what was fetched/instantaited. Source:Function=Instantiation:FunctionApplication | ||
- Also related to loaders and custom modules | ||
- The Stage 3 proposal defines an `AbstractModuleSource` prototype, that sources inherit from. We can use this for shared method. | ||
|
||
#### Updates | ||
|
||
- **Guy**: `.imports()` is now on `AbstractModuleSource.prototype` | ||
- **Guy**: It would also exist thus on the prototype chain of `WebAssembly.Module`, but it also has a static `WebAssembly.Module.imports()` that has wasm-specific stuff. Potential confusion, but nobody has raised is as a concern yet. The prototype method returns the same shape for both JS and Wasm. | ||
- **Jordan**: does the static method brand-check? | ||
- **Guy**: The new one brand checks | ||
- **Jordan**: And the old one? Can I polyfill the static one (general questions about the semantics of the static one) | ||
- **Nic**: the old one exposes more wasm-specific details | ||
- **Kris**: Can you talk more abuot the design space for this array of imports? I know ordering is important, and `export from` also. What if you import the same specifier with multiple phases? | ||
- **Guy**: It's what is today in [[ModuleRequests]]. | ||
- Discussion about phases, and about how they should not be conceptually able to change what a module is | ||
- **Kris**: And we need multiple entries when the specifier is the same and the attributes are different | ||
- **Mark**: To clarify, I can import the same file with two different set of attributes? | ||
- **Nic**: Yes | ||
- **Guy**: We have a problem that currently the spec only exposes exports after linking. We might need refactoring and new hooks to define that. For now I removed it from the proposal. Do we really need it? | ||
- **Kris**: Moddable exports the bindings, with a special one for `export * from`. I do not think it's reasonable ad this phase to have an array of all the exports, because it's incomplete until when it's linked. | ||
- **Nic**: Should we represent `export { x } from "a"` the same as `import { x } from "a"; export { x }`? | ||
- **Jordan**: There is value in distinguishing them | ||
- **Mark**: Can we consider adopting the Moddable model? | ||
- **Guy**: What if we did this just for JS modules and not in general? | ||
- **Mark**: Is there any case in which it does not work for other types of modules? | ||
- **Guy**: For example, WebAssembly does not have live bindings | ||
- **Jordan**: We shouldn't expose whether a binding is live or not, or whether something is const/let. We should expose as little details as possible. | ||
- **Guy**: What's Moddable use case for this design? | ||
- **Kris**: It's Agoric's. We need to know the list of imported and re-exported specifiers, the list of `export * from`, and maybe also we needed the list of exported bindings. | ||
- **Kris**: To wrap this up, I think it's good to have a module source with some sort of reflection mechanism. If it tooks the form of imports/exports/starReexports it matches what we do in SES shim and suffices our needs. Bindings is more rigorous, and as Jordan mentions there is some potential that you could do some extra runtime analysis. | ||
- **Mark**: Whatever we settle on, can Wasm reexpress their exports with the same semantics? | ||
- **Guy**: Yes, the problem is that it requires a lot of cross-spec changes. | ||
- **Nic**: To clarify, these changes would be even to expose the minimal export info. | ||
- **Mark**: Module sources are not linked, right? | ||
- Right | ||
- Cross-realm | ||
- **Kris**: Lets discuss this next week |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters