| 15:45 | <Kris Kowal> | Regarding the intermediate design family for transferrable modules, I am warming up to the intermediate position, where a ModuleSource may share private state with the host module loader, not just for CSP, but to determine import hook behavior. I have been mulling the implications for host virtualization and so far conclude that the behavior is trivial to emulate with a side table or private field. For a module loader that is serving as both a host and guest, the module-in-the-middle is sufficiently empowered that it can implement its own emulation of CSP or deny the host behavior. In short, I’m running out of reasons to dislike this framing and I’ll bring this up at the SES meeting today to socialize it. |
| 15:51 | <Kris Kowal> | It’s attractive that neither CSP nor import.meta.url need to be captured on the 262 side and can exist entirely in the HTML integration. |
| 15:53 | <nicolo-ribaudo> | Interesting, I wonder how that interacts with multi-instantiation of modules |
| 15:53 | <nicolo-ribaudo> | I don't think I can join the SES meeting (this is the "half of the meetings switched timezone, the other half didn't" week), but I'll watch the recording |
| 15:55 | <Kris Kowal> | Re multi-instantiation, I’m assuming the host module loader shares a module map keyed on url among all the instances it creates, so the host import hook is in a position to inspect the privately held url on the source and decide to reuse another instance. |
| 15:56 | <Kris Kowal> | That implies a return override, gross. |
| 15:58 | <Kris Kowal> | Might also imply that we need to thread return override down to the initializer hook, should we choose to pursue the revealing callback. |
| 16:23 | <Kris Kowal> | Another possible design would allow for a module source to be directly imported, giving the host the option of creating a host-defined instance behavior or reusing an existing instance based on the privately shared origin data. To virtualize that behavior, I imagine the hook would need to be defined on something in the same position as the Evaluators object. |
| 19:34 | <Kris Kowal> | Conclusion from the SES meeting is the Agoric contingent considers Luca’s design family, where host-defined ModuleSource and host-defined ModuleInstance behaviors can collude, is worth investigating and not obviously bad. |
| 22:08 | <Kris Kowal> | Recording from SES meeting last week socializing Module Harmony updates https://youtu.be/XoB3FaAfhTg |
| 22:11 | <Kris Kowal> | Interesting, I wonder how that interacts with multi-instantiation of modules new Module(source) === new Module(source) iff the source had a private origin. |
| 22:23 | <Kris Kowal> | Today’s SES meeting re design families for module sharing https://youtu.be/qISoSOiUwwk |