17:06
<littledan>
Hola
17:06
<ryzokuken>
hola ^2
17:06
<Kris Kowal>
Como etc
17:06
<shu>
are we repurposing this room to be for all module-related proposals?
17:06
<shu>
(could we rename if so?)
17:07
<Kris Kowal>
Yes, I’m repurposing the compartments proposal for module loader proposal.
17:07
<shu>
what is the module loader proposal?
17:07
<littledan>
the non-module-related parts of compartments are being split out
17:07
<Kris Kowal>
Module loading was a subset of tc39/proposal-compartments. I’ve an open PR to narrow the focus to modules.
17:08
<littledan>
I'm a huge fan of this change
17:08
<Kris Kowal>
https://github.com/tc39/proposal-compartments/pull/46
17:08
<littledan>
how about we call this room "TC39 Modules"
17:08
<shu>
no i was asking something else, are we repurposing this room to also include the discussion of module blocks and import reflection?
17:08
<shu>
if so, let's rename
17:08
<shu>
if not, let's make a new room called TC39 Modules, yes
17:09
<Jack Works>
Module loading was a subset of tc39/proposal-compartments. I’ve an open PR to narrow the focus to modules.
new globalThis for each compartment is a must on our needs, want to make sure it is not removed from compartment
17:09
<Kris Kowal>
Ah, I’m in favor of a venue called Modules since it’s not my intention to increase the scope of Compartments to close over blocks and “static import”
17:10
<Kris Kowal>
My intention is to champion both shared-global and unique-globals.
17:10
<Kris Kowal>
Both modes are useful.
17:11
<guybedford>
I guess one question is where should the new StaticModulRecord be specified?
17:11
<guybedford>
If we can agree that such a userland record should exist?
17:12
<guybedford>
not userland - user exposed
17:12
<Jack Works>
If we can agree that such a userland record should exist?
for module block proposal, it must exist
17:14
<shu>
i am supportive of such a thing existing and is user-exposed, yes
17:14
<shu>
(also let's invite the module blocks folks in here like Surma, not sure how to do that)
17:14
<littledan>
there's clearly going to be some design which is shared between proposals. I think we should avoid too much churn between repos/URLs as we develop this though
17:14
<Kris Kowal>
I invited Surma when we created the room.
17:15
<shu>
ah excellent
17:15
<littledan>
maybe we should call the intersection of things the "loader proposal" and name things around that?
17:15
<Jack Works>
there's clearly going to be some design which is shared between proposals. I think we should avoid too much churn between repos/URLs as we develop this though
now we're going to have a proposal dependency graph to link 🎉
17:15
<shu>
The Loader of Things
17:16
<Kris Kowal>
I’m in favor of not thinking too hard about layering yet. We need the proposals to be cohesive and none of them can advance without a notion of StaticModuleRecord.
17:16
<shu>
let's talk administrative stuff, what's a cadence people are open to at first blush?
17:16
<shu>
1h @ monthly? too little time?
17:17
<littledan>
weekly or biweekly would work for me. Monthly seems too slow given the timelines that people mentioned already
17:17
<littledan>
we could do monthly if we do lots of async work though
17:17
<Kris Kowal>
The Loader of Things
I have twin dark fates: to forever toposort dependencies and be in meetings that are thinly veiled parodies of LotR. My last long standing meeting was called “The Fellowship of the Hashring”
17:17
<shu>
yes i do think monthly is too slow, not sure why i led with that
17:18
<shu>
i'll put together a doodle for initial time, and lead with 1hr @ every 2 weeks
17:18
<Kris Kowal>
In the interest of conservation of weekly hours, I will entertain any module conversation at SES Strategy every week, probably forever.
17:18
<Kris Kowal>
I can participate in a supplementary meetings at a lower cadence.
17:19
<shu>
i'd rather we move all of it to a module call, unless the SES folks also want to repurpose the SES call to be just about modules
17:19
<Kris Kowal>
SES straddles Europe/Pacific. The other time should straddle Pacific/Asia
17:20
<Jack Works>
I can join any meetings (when I am awake), Europe/Pacific meetings usually too late for me
17:20
<Kris Kowal>
For a limited time, we will prioritize modules over other popular SES Strategy topics. ShadowRealms have mostly graduated. Records and Tuples can wait.
17:20
<shu>
i'd prefer that folks interested in the module proposals not feel pressured to attend SES calls
17:20
<guybedford>
Especially given the next meeting is so soon, perhaps a weekly call would be beneficial? There's a lot of material here.
17:21
<guybedford>
Ideally if we could work roughly to an agenda that might help too
17:22
<shu>
so i propose that module discussions move out of the SES calls into this new call, or non-module SES topics are suspended and we just have one call until the module charter runs out
17:23
<shu>
and given that SES calls have a set time already, i lean towards the first option
17:23
<guybedford>
Building cross-specification agreement seems to be the value proposition here, so having a dedicated meeting makes sense to me
17:23
<Kris Kowal>
Well, I can give you a meeting where SES topics that don’t overlap modules are indefinitely postponed.
17:24
<Jack Works>
do we need a new repo for the module record and all module related proposals refer to it?
17:24
<shu>
Kris Kowal: are you and the SES folks open to suspend the SES calls in favor of this one until the module topics runs its course in this independent call?
17:24
<shu>
i really don't want multiple "rooms where it happens"
17:24
<Kris Kowal>
I can only say that I only have space in my workweek to run one meeting.
17:25
<shu>
understood, not asking you to convene
17:25
<Kris Kowal>
And I would be delighted to convene ;-)
17:31
<Kris Kowal>
shu: But, by all means, please share a Doodle so we can find a good commons.
17:32
<shu>
making a doodle as we speak
17:50
<Kris Kowal>
littledan: I could use your eyes on the compartments-as-loader proposal with an eye for how to fit import assertions in. That is one concern I’ve not written in.
17:51
<Kris Kowal>
There are some obvious places to account for it, like adding an options bag to the import method. Probably also obviously necessary to thread those options into the loadHook.
17:52
<Kris Kowal>
But also perhaps obviously not thread it into the loadHook, because that invites the virtual host to abuse it for non-assertions.
17:53
<Kris Kowal>
In order for us to preserve the character of import assertions, it might be necessary to add a “type” property to module descriptors, such that the Compartment is in a position to maintain the assertion.
17:53
<shu>
reflector issue and doodle up: https://github.com/tc39/Reflector/issues/436
17:53
<shu>
i'll cross-post in TC39 Delegates for visibility
17:53
<Kris Kowal>
That in turn makes a case for continuing to encapsulate “link”
17:57
<Kris Kowal>
Is this intentionally Doodle with a little D, or am I looking at the spreadsheet a form reports to?
17:59
<Kris Kowal>
https://github.com/tc39/proposal-compartments/issues/37
20:12
<Kris Kowal>
I withdraw the question. This is clearly superior to Doodle with a big D regardless.
20:14
<Kris Kowal>
I went ahead and added a column for the 10:00 AM Pacific time slot. We can deconvene SES Strategy if that time slot is winful.
20:43
<shu>
it is intentionally doodle with little d
20:43
<shu>
but i have been incorrectly capitalizing it
20:44
<shu>
i stole the sheet from a PM internally, i was real tired of the huge amount of large banner ads on actual doodle
20:46
<guybedford>
it's incredibly impressive, certainly decapitalizing doodle there :P
20:48
<shu>
spreadsheets: the one true programming environment
21:00
<littledan>
I take it 2-weekly means "every two weeks" not "twice a week" right?
21:05
<shu>
that's correct
21:13
<littledan>
that's a relief
21:40
<Kris Kowal>
The CommonJS debates were about a month of continuous debate with thousands of messages. I definitely can’t sustain that kind of engagement anymore, but I certainly care enough to try 😂
21:44
<Kris Kowal>
spreadsheets: the one true programming environment
Pitch: spreadsheets but comic sans.
21:52
<littledan>
I feel like we don't have all that many points to actually make opinionated decisions here, that most of the API should sort of flow through "naturally"
21:55
<littledan>
so many things are nailed down already by the nature of modules already
22:00
<Kris Kowal>
Mark and I have decided to get ahead of the inevitable bikeshed and suggest renaming the Compartments proposal to merely Loader. https://github.com/tc39/proposal-compartments/pull/48
22:01
<littledan>
love it
22:01
<Kris Kowal>
It’ll remain Compartment in the quiet of our hearts.
22:02
<littledan>
lean in
22:02
<littledan>
(if you want to keep it as compartments, that's fine with me)
22:02
<littledan>
I guess the sort of core of this being compartment-like is having its global specified
22:02
<littledan>
i wonder if there's some way to refer to that... I can't think of it
22:03
<Kris Kowal>
Further simplifications to come to court the majority.
22:04
<Kris Kowal>
Right, and in the majority use-case, folks will want to share the global environment record from host to guest, so we’re discussing making that the default, and keeping a carve-out for a new-global behavior. We don’t actually need much from the new-global carve-out to build Lockdown in userland.
22:07
<Kris Kowal>
And I would like to prepare a PR with an inside-out version of Loader like what Guy proposes, based on Compartment shim internals, to vet guybedford’s ModuleInstance by contrast. It will be interesting to see them side-by-side.
23:54
<Kris Kowal>
In Guests share host by default #50, I’m attempting to make the Loader proposal more juicy for SES-indifferent crowd by making Loader() as useful as possible to what I believe will be many people’s needs with no options provided.
23:54
<Kris Kowal>
It’s at the end of the day, just pivoting the defaults.