00:12
<TabAtkins>
shu: What's this number destructuring thing
00:17
<jridgewell>
https://twitter.com/__Jonathanks/status/1285874999589576705
00:18
<TabAtkins>
omg
00:18
<TabAtkins>
(thanks, i just couldn't find it in the thread)
00:18
<TabAtkins>
Hmmmm tho, b should clearly be `.142`
00:19
<TabAtkins>
otherwise it implies `3.14` and `3.140` should destructure to different b values, which is weird with literals and impossible with variables.
00:21
<Bakkot>
literals get weird anyway
00:22
<Bakkot>
let a.b = 4503599627370496.001
00:22
<shu>
they most definitely should destructure to different b values
17:17
<akirose>
did mark go robot for anyone else
17:18
<robpalme>
no
17:18
<akirose>
i had a feeling
17:19
<akirose>
I think Shelley just joined the call actually
17:21
<haxjs>
What's the channel name?
17:21
<akirose>
#tc39-inclusion
17:25
<akirose>
Thank you mpcsh !!!
17:26
<littledan>
please advance the queue
17:26
<mpcsh>
17:26
<ljharb>
hax's gist re "private in": https://gist.github.com/hax/5e94c7959703ea95d4ff9c9deac12988
17:28
<shu>
curious about the "we" in the document
17:29
<ljharb>
iirc it refers to hax and his 360 colleagues
17:29
<ljharb>
they conferred 5ish hours ago
17:29
<shu>
thanks
17:32
<robpalme>
is there a link to the reification proposal?
17:38
<ljharb>
robpalme: https://github.com/jridgewell/proposal-private-symbols
17:38
<ljharb>
iirc
17:42
<robpalme>
right. that proposal did not achieve stage 1 when it was presented in Jan 2019.
17:42
<robpalme>
https://github.com/tc39/notes/blob/master/meetings/2019-01/jan-31.md#private-symbols-for-stage-1
17:42
<jridgewell>
Correct
17:43
<jridgewell>
I do not plan on working on again
17:43
<jridgewell>
(I'm in a work meeting, no idea what's you're talking about in the committee)
17:43
<michaelficarra>
bradleymeck makes a good argument for allowing `obj."property name"`
17:44
<bradleymeck>
hahaha
17:44
<devsnek>
+1
17:44
<Bakkot>
i like it
17:44
<devsnek>
but i have to insist
17:44
<devsnek>
on `obj.1`
17:44
<Bakkot>
also we should allow `object.0`
17:44
<devsnek>
asi be damned
17:45
<Bakkot>
are there actual ASI problems with that?
17:45
<devsnek>
Bakkot: jinx
17:45
<ljharb>
jridgewell: oh, do you have a different reified private fields proposal that's more up to date?
17:45
<devsnek>
yeah `object\n.0` is identifier and `.0`
17:45
<devsnek>
a numeric literal
17:46
<jridgewell>
No
17:46
<Bakkot>
ah right
17:46
<ljharb>
jridgewell: ah
17:46
<devsnek>
otherwise i'm sure we would already have it
17:48
<michaelficarra>
I am fine with `obj[0]` for numeric string properties
17:57
<michaelficarra>
this feels like bullying
17:58
<ystartsev>
i am... also a bit wary here
17:58
<michaelficarra>
I also don't agree that the committee can't reject stage 3 advancement in an inactionable way
17:59
<ljharb>
michaelficarra: if you'd like to make a point of order and say that that's fine
17:59
<Bakkot>
this proposal did not need to advance this fast
17:59
<ystartsev>
yeah i have a concern there.
17:59
<michaelficarra>
see ystartsev's rejection of the function impl hiding for stage 3
17:59
<ystartsev>
yes exactly, i recently did this unilaterally
17:59
<ystartsev>
it was accepted by committee
18:00
<devsnek>
wait is function impl hiding currently blocked
18:00
<michaelficarra>
ljharb: I'm not going to stop it from advancing because I want the feature, but I think the process just now was questionable
18:00
<Bakkot>
I would be happier if we did not advance this to stage 3 at this meeting and brought it back next meeting after ljharb having talked more to haxjs
18:00
<bradleymeck>
i think we need to disseminate the difference in those proposals being rejected, but thats likely not best to do right now
18:01
<ghermeto>
I agree with Michael
18:01
<bradleymeck>
Bakkot: can you point of order that
18:01
<ystartsev>
yes. ff blocked as we considered it to have been advanced to stage 2 on the basis of having more benefits than it ultimately had. we had strong philosophical concerns about sensitive. for hide source we just weren't sure it was the right solution
18:01
<ystartsev>
cc devsnek
18:01
<michaelficarra>
devsnek: yes, blocked with no actionable recommendation
18:01
<ljharb>
hmm, haxjs may have had connection issues
18:01
<Bakkot>
it may be that the differences are irreconcilable and we have figure out if we're advancing it anyway but I don't think it needs to be rushed
18:01
<Bakkot>
bradleymeck I will bring it up to the chairs to discuss between this topic and the next
18:01
<bradleymeck>
sure
18:01
<ystartsev>
devsnek: on my side, since i blocked unilaterally, i joined the tooling meeting to try and understand concerns there and have made myself available to be convinced otherwise. i am still availabl efor that
18:01
<Bakkot>
don't necessarily want to interrupt this topic
18:01
<shu>
i still cannot understand what is being said at all
18:01
<devsnek>
ystartsev: god it
18:01
<ghermeto>
I can't hear anything... can you?
18:01
<devsnek>
got it*
18:02
<devsnek>
we have a lot of POO rn
18:02
<ljharb>
ystartsev: michaelficarra Bakkot fwiw i'm talking to hax on dm and will absolutely take 30 seconds later today to ensure my proposal stays at stage 2 if he feels like he didn't get the opportunity to object
18:02
<akirose>
ljharb haxjs is that accurate regarding connection issues?
18:02
<akirose>
ljharb: ty
18:02
<Bakkot>
ljharb he did object pretty concretely
18:03
<Bakkot>
and we tried to resolve those objections but they didn't sound super resolved
18:03
<ystartsev>
ljharb: fwiw i do support ergonomic brand checks, i just want to makee sure we treat this the right way
18:03
<Bakkot>
ditto
18:03
<ljharb>
totally understand
18:03
<ljharb>
no advancement is worth someone feeling bullied into it
18:03
<michaelficarra>
Bakkot ljharb: I want to make sure we also aren't setting a precedent around your claim that rejection of advancement to stage 3 must be actionable
18:04
<haxjs>
it seems ljharb asked me? it seems the connenction just lagged and i can't hear that
18:04
<ystartsev>
haxjs: at the moment jackworks is talking, but we will take 30 s to address this in a momeent
18:04
<ljharb>
haxjs: would you like 30 seconds later to get your objection to stage 3 on record, and we can leave it at stage 2? or are you ok with stage 3
18:04
<ystartsev>
michaelficarra: Bakkot ljharb yes i agree here. I consider *stage 3* to have high bar for blocking advancement
18:05
<haxjs>
not ok with stage 3. but pls allow to read the notes again to see if i missed some arguments which may change my idea.
18:05
<ystartsev>
I have an internal document documenting our process for our team that outlines this so that we react appropriately per stage. I think it might make sense to make this an updated version of the process
18:05
<ljharb>
haxjs: ok, please let us know asap, once you're confirmed one way or the other we'll make sure that's addressed and in the notes
18:06
<bradleymeck>
i retroactive understanding of this last discussion will be a process discussion is also a struggle since it was a desire to pin the `#x in` proposal to a reified proposal based upon a consistency around syntax implications. It wasn't necessarily a block on the syntax of `#x in` itself, but on the lack of a seen invariant of what `@ in @@` provides
18:06
<rricard>
haxjs: noted in notes
18:06
<ljharb>
rricard: ty
18:06
<michaelficarra>
on this topic, I think we need to seriously reconsider our consensus process, possibly adopting TabAtkins' recommendation from a previous meeting (I think it was from TAG?)
18:07
<shu>
remind me what that recommendation was?
18:07
<MylesBorins>
michaelficarra do you ahve a TLDR or that process
18:08
<bradleymeck>
so the objection was valid, but requires adopting a consistency about the meaning of `@ in @@` regardless of what `@` is. that makes the argument hard to make as it isn't about semantic issues or about grammar issues, but around usage guarantees that we don't actually write down as preserved (or in my case i responded stating I don't think we guarantee it currently)
18:08
<ljharb>
personally i think there's a big difference in objecting to consensus on a stage > 2 proposal, than on a stage <= 2 proposal
18:08
<bradleymeck>
so it goes further in needing to convince people that the syntactic guarantees are something we are trying to preserve and must be solved
18:08
<devsnek>
we need a way to test for private fields that doesn't involve try/catch
18:09
<Bakkot>
ljharb stage 2 is "something like this seems like it would work", stage 3 is "we are happy with this particular solution"
18:09
<michaelficarra>
MylesBorins: I don't want to misrepresent it, we should talk to TabAtkins and also look into process documentation of other standards-setting bodies
18:09
<bradleymeck>
i don't think people are arguing we don't want a way to test for them without try/catch
18:09
<ljharb>
Bakkot: stage 2 also means "we are committing to putting a solution to this problem in the language"
18:09
<shu>
michaelficarra: i am interested in changing our consensus process
18:09
<Bakkot>
it does not mean that
18:10
<Bakkot>
it absolutely does not mean that
18:10
<ljharb>
Bakkot: the process document literally says stage 2 signifies "The committee expects the feature to be developed and eventually included in the standard"
18:10
<bradleymeck>
i think we are arguing about what kind solution is viable due to breaking what are seen as existing invariants that are held by some of the committee
18:10
<ljharb>
so it 100% means that, explicitly
18:10
<Bakkot>
ljharb "expects" is very much not "is committed to"
18:10
<ljharb>
ok fair
18:10
<Bakkot>
extremely not
18:10
<ljharb>
that's a very subtle distinction tho imo
18:10
<TabAtkins>
W3C consensus is to seek strong objections; in the absence of those we go with "consensus", which is *not* unanimous but is more than majority; it's fuzzy, but basically if it's anywhere near close we don't call it consensus.
18:10
<Bakkot>
those things are nowhere close to each other
18:10
<MylesBorins>
TabAtkins would you say that model closely reflects rough consensus?
18:11
<ljharb>
Bakkot: it also says post-acceptance changes expected are incremental
18:11
<TabAtkins>
Probably? Depends on exactly what you mean by that term, but they're in the same ballpark by my understanding.
18:11
<bradleymeck>
ljharb: but we can always drop a stage if we feel we have found something major
18:11
<ljharb>
sure
18:11
<MylesBorins>
fair enough
18:11
<Bakkot>
ljharb right, so changing the proposal a bunch at stage 2 is weird
18:12
<Bakkot>
per the process document
18:12
<Bakkot>
but blocking it is not
18:12
<akirose>
y'all see my comment about reading the READMEs on the reflector 😅
18:12
<ljharb>
alright
18:12
<michaelficarra>
akirose: it was too small, didn't read
18:13
<akirose>
use a screenreader
18:15
<shu>
i'm confused, was there a technical issue with haxjs's audio when ljharb asked for consensus for the private-in?
18:15
<akirose>
that's the impression I got
18:15
<akirose>
or perhaps a connection issue
18:15
<shu>
in that he was still objecting to stage 3, and then we got to discussing the validity of the objection?
18:15
<michaelficarra>
shu: I think so, yes
18:16
<shu>
ok
18:16
<ljharb>
shu: he had connection issues so that's why he failed to respond
18:16
<ljharb>
shu: so we'll take 30 seconds later today to either confirm he's changed his mind ok with stage 3, or confirm that his objection stands and the proposal stays at stage 2
18:16
<ljharb>
*and is ok
18:16
<bradleymeck>
shu: regardless of the validity it seems fine to wait a meeting, but would be good for us to figure out what even constitutes a valid concern / why this is different from E.G. function impl hiding that had a opaque block
18:17
<shu>
bradleymeck: fair, agreed good for us to figure out
18:17
<ljharb>
i do see them as different
18:17
<ljharb>
but yeah good to figure that out as a group
18:17
<bradleymeck>
my assumption is the feeling is about adopting a claim of consistency is contentious
18:18
<shu>
blocking here feels like a bad precedent
18:18
<ljharb>
there's competing claims of what "consistency" means here
18:18
<bradleymeck>
ljharb: exactly
18:19
<bradleymeck>
and likely we need to see if we as a committee are adopting a specific invariant by moving forward with either path
18:19
<ljharb>
so the objection seems like essentially, "in my model of consistency, this makes things less consistent", whereas others feel the opposite
18:19
<bradleymeck>
e.g. adopting that `X in O` mandates `O[X]` succeed for all future things (regarding ordinary objects)
18:19
<michaelficarra>
I want to take this opportunity to remind people that for stage 1, we only need to convince ourselves that there is a problem worth solving; bringing forward a completely worked proposal like this distracts from that goal
18:20
<devsnek>
is chip on irc
18:20
<akirose>
no. or at least not at the moment.
18:20
<bradleymeck>
we could also argue about succeed
18:23
<haxjs>
If obj[#x] will never exist, I have to object the proposal in current form. I would ask for alternative syntax, not overloading `in`.
18:24
<bradleymeck>
async context is kind of like incumbent but not on the realm scale :stares into the void:
18:24
<shu>
well it's like programmatic control over it
18:24
<shu>
the incumbent stuff is implicit at least
18:24
<bradleymeck>
implicit is even worse
18:25
<bradleymeck>
you don't even know what it could be, per my talk with you about only evaluating values and functions in realm A but the incumbent queueing up in realm B
18:25
<shu>
oh i think reflecting incumbents to be some programmable thing seems super bad to me
18:26
<ljharb>
akirose: we'll need 30s at some point to record in the notes that the proposal's still stage 2, and so hax can speak to the notes about why
18:26
<ljharb>
haxjs: ^
18:26
<bradleymeck>
i think we need many more minutes than that, can we explain the why offline and in a way that we document what constraint we are trying to place on all future proposals
18:27
<ljharb>
not to set a precedent
18:27
<bradleymeck>
i still personally think this constraint applies to reification and constrains how any future reification must be designed
18:27
<ljharb>
but to record why i'm coming back in september to talk about it longer
18:28
<akirose>
Cool cool. I do not plan to open it for discussion, so haxjs if you can keep it to just what you said above, we can add it to the notes, and discussions can happen over the next two months.
18:28
<ljharb>
bradleymeck: to correct my earlier misunderstanding; there's no plan for reification, just for https://github.com/tc39/proposal-private-declarations
18:28
<bradleymeck>
i do have concerns about constraining the whole language future as a whole without agreement on the importance of the constraint we want to keep
18:28
<ljharb>
bradleymeck: so `#x` would never be a value and `obj[#x]` would never exist
18:29
<ljharb>
jridgewell: is that right? ^
18:29
<bradleymeck>
ljharb: currently
18:29
<ystartsev>
bradleymeck: would this be considered an invariant?
18:29
<ljharb>
ystartsev: the question is, *is* it an invariant that `x in o` implies `o[x]` works
18:29
<ystartsev>
ok, good thanks for the clarification
18:29
<ljharb>
which depends on how you define "works"
18:29
<ljharb>
since it could be a getter that throws
18:29
<bradleymeck>
ystartsev: yes, I am trying to state if we have a universal objection that limits all features of the language we need to canonize it
18:29
<leobalter>
littledan: the problem I have - and other delegates shared as well - is not against the feature but understanding what is currently proposed.
18:30
<ljharb>
or a proxy that misbehaves
18:30
<ystartsev>
bradleymeck: we should also clearly identify the motivation
18:30
<bradleymeck>
ystartsev: agreed
18:30
<ystartsev>
that is why i asked, to record an invariant without the motivation or "protectedd property" could leave us open to debt that we don't know how to deal with
18:30
<bradleymeck>
ljharb: I'd just state that invariants are for ordinary objects generally
18:30
<leobalter>
littledan: I'd like to understand this better, the presentation was confusing by many reasons, but it also made me think it was a set of different things it is actually not
18:31
<littledan>
leobalter: Yeah, it was hard for me to follow the presentation. I recommend taking a look at their README. https://github.com/legendecas/proposal-async-context
18:31
<ljharb>
bradleymeck: instances with private fields are ordinary objects
18:31
<leobalter>
littledan: I can't do it in parallel with the meeting, that's the problem
18:31
<bradleymeck>
ljharb: yes, but around w/e we define "Works" to mean
18:31
<ljharb>
ah
18:31
<ljharb>
then yes
18:31
<leobalter>
littledan: I believe it would be best to recall this one and try to present it again another time
18:41
<devsnek>
drousso: async locals require overriding promise job execution
18:41
<devsnek>
which can't be done from userland
18:43
<jridgewell>
ljharb: Just catching up.
18:43
<jridgewell>
Yes, Private Declarations do not define a value
18:43
<jridgewell>
They expand the syntax form only
18:44
<ljharb>
jridgewell: so would `obj[#x]` work
18:44
<jridgewell>
Private Declarations should work fine regardless of the reification choice we make
18:44
<ljharb>
jridgewell: despite `#x` not being a value?
18:44
<devsnek>
drousso: also this is sort of like atomics in terms of usage, if you're using it you know how to use it and what it does
18:44
<jridgewell>
It could be either Map based or Symbol based
18:44
<ljharb>
jridgewell: i meant the syntax
18:44
<ljharb>
jridgewell: or would i have to do `obj.#x`
18:44
<drousso>
devsnek i would disagree with that assumption
18:45
<jridgewell>
(This works, because the Private Declarations syntax is the same as normal class fields syntax)
18:45
<devsnek>
i mean its exposed in node right now
18:45
<drousso>
i think there's a _lot_ of usage of atomics without understanding what atomics aree
18:45
<jridgewell>
No, `obj[#x]` does not work.
18:45
<jridgewell>
Only `obj.#x`
18:45
<jridgewell>
It's the exact same syntax as class fields
18:45
<devsnek>
drousso: no i mean our design of atomics
18:45
<jridgewell>
Purposefully, so that I didn't force any decisions on reification.
18:45
<shu>
drousso: the correct understanding of atomics is "always fast, always correct"
18:46
<devsnek>
we designed atomics with the assumption that they do confusing things and individual humans don't really use them
18:46
<ljharb>
jridgewell: ok thanks
18:46
<ljharb>
jridgewell: then haxjs' objection still applies, i think
18:46
<shu>
devsnek: well, no, it bottoms out at *some* individual humans
18:46
<shu>
just hopefully really tall ones
18:46
<devsnek>
lol
18:47
<Bakkot>
am reminded how much i like the private declarations proposal
18:47
<Bakkot>
really wish I'd managed to get use to use `private #x` for the class variant though
18:47
<devsnek>
private symbols but less orthogonal
18:47
<littledan>
someone who is typing needs to mute
18:48
<devsnek>
sounds like cherry blues
18:48
<bradleymeck>
jridgewell: `private #x as x;`
18:48
<Bakkot>
devsnek: private symbols but without breaking deep assumptions about the language and/or the guarantees you want from private state
18:48
<bradleymeck>
make it get really funky
18:49
<Bakkot>
littledan this was said earlier
18:49
<Bakkot>
this isn't a new thing
18:49
<jridgewell>
We can make Private Symbols *branded* (act like current Private Fields)
18:50
<jridgewell>
There are still some issues with Membranes…
18:51
<jridgewell>
But I don't plan on working on this
18:51
<devsnek>
Bakkot: the "deep assumptions" thing seems like circular logic
18:51
<littledan>
sorry for my comment. I missed some context here.
18:51
<devsnek>
the deep assumption that you can enumerate keys is the exact thing private symbols are supposed to not do
18:51
<devsnek>
so like if you're dealing with private symbols
18:52
<ljharb>
for `#x in obj`, please check the conclusion i put in the notes and update as needed (cc haxjs)
18:52
<devsnek>
"wait why is my private symbol not enumerable" seems like an uncommon thing to think
18:52
<Bakkot>
devsnek enumerating keys isn't the thing I'd worry about so much as `a[x]` is prototypical
18:52
<ljharb>
(i updated the original notes section instead of adding a tiny new one)
18:52
<Bakkot>
the only reason a.#x not being prototypical works is because it is new syntax
18:52
<devsnek>
Bakkot: it could just be prototypical
18:52
<Bakkot>
but if you reify private fields then that stops being new syntax
18:52
<ljharb>
oh nvm, i'll update the continuation
18:52
<Bakkot>
devsnek right, and then you get the "breaking guarantees you want from private state"
18:52
<devsnek>
and people who want own properties can do own property checks
18:52
<Bakkot>
one or the other
18:52
<Bakkot>
that's the point
18:53
<devsnek>
it composes perfectly
18:53
<devsnek>
with the existing language
18:53
<devsnek>
and how existing properties work
18:53
<Bakkot>
it makes private fields not do the thing that private fields are for
18:53
<devsnek>
they're for lots of things
18:53
<Bakkot>
they're for having guarantees about your code without accidentally exposing API
18:54
<devsnek>
ok to flip the argument around then you could argue that because its so obvious that they shouldn't be prototypical
18:54
<devsnek>
no one would be confused by them not being prototypical
18:55
<Bakkot>
that works fine when it's a different syntactic form, as they are in the current proposal
18:55
<Bakkot>
that stops working the instant they are reified and using the regular property access syntax
18:55
<devsnek>
but then they don't work with any concepts in the language
18:55
<devsnek>
and we end up having this issue
18:55
<bradleymeck>
`o?.#[k]` 🚢
18:56
<Bakkot>
they work fine with the language
18:56
<Bakkot>
they work just as well as local variables do
18:56
<Bakkot>
except that they have more limitations on where they can be declared, which there is a lovely proposal to relax
18:57
<devsnek>
but they don't have the usage of local variables
18:57
<devsnek>
they compose more naturally as keys of objects
18:58
<Bakkot>
they work fine as keys of objects as well, except for the `in` limitation ljharb is proposing to rectify
18:58
<devsnek>
and adding them
18:58
<devsnek>
and deleting them
18:58
<devsnek>
and dynamically doing anything with them
18:59
<devsnek>
well i guess you can technically add them using super tricks
18:59
<Bakkot>
you can't add and delete and dynamically refer to local variables either
18:59
<jridgewell>
Adding and deleting are intentional restrictions
18:59
<devsnek>
they aren't local variables though
18:59
<Bakkot>
they are somewhere between local variables and regular properties
18:59
<ljharb>
you can't add properties to a sealed object either, or delete a nonconfigurable property
18:59
<Bakkot>
giving you the nice parts of both
18:59
<akirose>
qq ystartsev: would it be realistic to send someone else from Mozilla to some meetings? is it delegable?
19:00
<devsnek>
ljharb: them being nonconfigurable is orthogonal to them existing
19:00
<ystartsev>
akirose: i make those meetings available to all members of the spidermonkey team
19:00
<ystartsev>
but generally i am the only one that atteends
19:00
<ystartsev>
also i have more context for some issues
19:00
<akirose>
oh i assumed that part. i mean can you push someone else to attend half
19:01
<shu>
ystartsev: there's been an overflow last time
19:02
<shu>
it was not possible to schedule all of the topics given bi-weekly
19:02
<shu>
ystartsev: wait why would doing more work in between mean the meetings themselves become burdened?
19:02
<ystartsev>
if we move a lot of topics forward
19:04
<shu>
ystartsev: fwiw it is freeing once you internalize that you shouldn't be a single point of failure for all JS features for SM
19:04
<akirose>
fortnightly!
19:04
<michaelficarra>
akirose: #temporaldeadzone
19:04
<shu>
if implementer feedback is really crucial for some proposal, and you can't make it, could you delegate?
19:04
<ystartsev>
shu: i don't consider myself that, i also make it available to other sm engineers
19:05
<ystartsev>
if its really crucial and I don't have the expertise, i will have another delegate with me or have someone there who knows
19:05
<ystartsev>
this isn't an issue about delegation, its about the reality
19:05
<ystartsev>
unless a feature actually needs implementer feedback, its likely that no one will come. i don't think that is ideal and i have limited time
19:05
<akirose>
it's relevant—biweekly is a really confusing term.
19:06
<michaelficarra>
akirose: I meant we were already discussing in #tdz
19:06
<shu>
ystartsev: sorry i don't understand what the reality is you're referring to
19:07
<michaelficarra>
are we going to reconvene at 13:06P or 13:00P?
19:07
<shu>
if you are already comfortable to not coming to every one, where does the pressure come from to come to every one?
19:07
<ystartsev>
im not sure why my position is a problem
19:07
<ystartsev>
i didn't say that you have to do it biweekly on my account
19:07
<ystartsev>
i said that i havee an issue doing it weekly
19:07
<ystartsev>
and that issue stretches to the fact that at present, i am the only person from mozilla who has signed up to go to all of these
19:08
<michaelficarra>
I prefer waiting until we have too many topics for the fortnightly meetings
19:08
<ystartsev>
it is fine to do it weekly, i don't know if i will make it, thats all
19:08
<ljharb>
fwiw weekly *on tuesdays at 9am* is a problem for me because that's one of my mornings with the kids, and so far tuesdays at 9am is the time most often selected :-/
19:08
<shu>
ystartsev: sorry, i don't actually want it weekly that much
19:08
<shu>
ystartsev: i was trying to understand the "pressured to come" issue
19:09
<shu>
which i am worried about imposing upon others
19:09
<ystartsev>
so, it would suck but i would make it work?
19:09
<ystartsev>
this was something i brought up when we were first scheduling
19:20
<littledan>
yes, again, very sorry for my inappropriate comment with Hax's topic. I didn't realize it had been discussed here, and the resolution seems reasonable for now.
19:21
<ystartsev>
shu: i cleared it up with leo -- we are on the same page
19:44
<shu>
ystartsev: great, and is that page the same as what you said before?
19:49
<shu>
leobalter: you had suggested several proposals for incubator calls, remind me what they were again?
19:52
<ystartsev>
shu: basically -- if there is enough content to do it weekly it should be done weekly
19:53
<shu>
+1
19:54
<ystartsev>
late meeting, its harder to communicate well!
19:55
<shu>
hear hear
19:55
<shu>
i bet i'm gonna be super cranky for the european timezoned one
19:55
<ystartsev>
well, i have to say i really wish japan was in person
19:56
<ystartsev>
not looking forward to the remote version 😬
20:04
<leobalter>
shu I'm sorry I was afk
20:12
<michaelficarra>
shu: if we're looking for more, I would nominate gibson042's JSON.parse proposal
20:15
<littledan>
To clarify (since I was asked), by "yes, again, very sorry for ..." I meant about how I didn't realize the expression of the objection was agreed-on in this room, and I was thrown off by it was raised
20:17
<devsnek>
very excited for this proposal
20:18
<rickbutton>
me too
20:19
<leobalter>
shu, please let me know what are the best ways I can help co-facilitating the incubator calls. We can schedule a chat if you prefer or just use irc/email too
20:19
<bradleymeck>
note that WebAssembly.Memory can already resize things, this is just about better ways to deal w/ all the fallout of how it must do things
20:20
<devsnek>
this wasm grow detach is like the #1 slowdown of js<->wasm rn (non-scalar types aside)
20:40
<devsnek>
did jordan get skipped
20:40
<ljharb>
yes
20:40
<ljharb>
it's ok tho
20:40
<ljharb>
i can ask both of mine together
20:41
<devsnek>
why can't i add a response to this
20:41
<ljharb>
the queue needs to be advanced
20:41
<ljharb>
akirose ^
20:41
<ljharb>
i've preserved my item
20:42
<akirose>
it's a clarifying question
20:42
<ljharb>
akirose: it was one for the previous topic; waldemar skipped to the next full topic
20:42
<akirose>
is why you can't reply
20:42
<devsnek>
akirose: we're on " Timing considerations"
20:42
<ljharb>
ohhh
20:42
<ljharb>
right
20:42
<akirose>
devsnek: Waldemar may have gone there
20:42
<ljharb>
akirose: waldemar had already asked "auto length" and skipped my clarifying question straight to "timing considerations"
20:42
<devsnek>
oh i see what you're asying
20:43
<devsnek>
saying*
20:43
<ystartsev>
akirose: i think that next item, timing, by wsdferdksl is covered?
20:44
<akirose>
y
20:55
<devsnek>
🎉
20:57
<shu>
leobalter: will do, thanks for the offer
21:00
<rkirsling>
aren't EIM invariants very unusual in actually being documented?
21:01
<devsnek>
we need to bring RFC 2119 into ecmascript
21:01
<rkirsling>
hehe
21:01
<devsnek>
is something truly a specification without that first paragraph
21:03
<rkirsling>
ohh so this is about doing what we do for EIMs in lots more places
21:03
<rkirsling>
I assumed this presentation was going to be about the rationale repo, my bad
21:07
<devsnek>
we've made changes to the spec to keep LR(1)
21:07
<devsnek>
i think it was some export syntax?
21:09
<jridgewell>
Import syntax
21:09
<jridgewell>
But yup
21:10
<Bakkot>
there's still an open bug here
21:10
<devsnek>
was it +Default?
21:10
<devsnek>
guess not
21:10
<Bakkot>
with parsing `for ( async of`
21:10
<jridgewell>
It was redefining the import attributes to be valid identifiers
21:11
<jridgewell>
Right now, you can `import { for } …`
21:11
<jridgewell>
And that should throw at parse time.
21:12
<devsnek>
xs and qjs accept that
21:13
<Bakkot>
wsdferdksl excluding SAB over high-res timers seems quite prescient these days
21:14
<jridgewell>
Right, the change was to make that a parse error
21:14
<jridgewell>
But we had to undo it because it broke LR(1)
21:15
<rkirsling>
wait so this is in the spec or in a separate repo?
21:15
<bradleymeck>
import {import as ...} is wonderful
21:15
<rkirsling>
I want to ask a question but I feel like I missed something
21:19
<jridgewell>
Ohh, it _was_ `export`
21:19
<jridgewell>
https://bocoup.com/blog/i-slipped-on-javascripts-banana-peel
21:23
<akirose>
i remember that blog post!
21:23
<leobalter>
I wonder if should have a place for RFCs at TC39, like this post
21:24
<rkirsling>
this looks interesting
21:28
<ljharb>
ystartsev: making repos is cheap; i'd prefer a new repo over the reflector
21:30
<Bakkot>
yeah I would like a new private repo, announced on the reflector
21:30
<Bakkot>
that seems like the way to go
21:30
<akirose>
So my question was about where this was _intended to_ live
21:31
<ljharb>
i'd assume in the tc39 org - in a document in the spec repo, or in a separate repo
21:31
<ljharb>
eventually it should be public
21:31
<akirose>
Should it be a PR to How We Work?
21:32
<michaelficarra>
tc39/process-document?
21:32
<ljharb>
sure, once mostly agreed upon that would work too i think
21:32
<ljharb>
but if it's meant to be normative it seems like it should be in one of the repos related to normativity (process document is a good candidate too)
21:33
<akirose>
i think choosing between how we work vs process document will distinguish it's… formality?
21:33
<ljharb>
i would hope that these invariants, while changeable, otherwise constrain proposals
21:35
<rickbutton>
MylesBorins: you are unmuted
21:35
<MylesBorins>
tyvm
21:35
<MylesBorins>
that could have gone... badly
21:36
<Bakkot>
akirose I vote how-we-work because less formal hopefully means less exegesis of the document during meetings
21:37
<akirose>
i concur
21:39
<robpalme>
i thought how-we-work was considered as rough guidelines. whereas the process doc is more akin to rules.
21:39
<Bakkot>
yup
21:39
<akirose>
yeah how we work is guidance on how to participate
21:39
<ljharb>
i would prefer these end up as rules, but obv it's fine to evolve there from being guidance
21:39
<ljharb>
changeable rules, ofc
21:40
<robpalme>
maturing via HWW seems fine
21:40
<Bakkot>
I would prefer not rules, because the rules for this kind of thing need to be kind of loose, in my experience
21:41
<Bakkot>
the whole business of language design is weighing values, and it is impossible to write down all the values and their weights
21:41
<ljharb>
super sad about the loss of Object.prototype.toString :-(
21:41
<devsnek>
is it too bold to say that infallible allocation is a good invariant
21:41
<michaelficarra>
Bakkot: wasn't that ystartsev's whole thing just now?
21:42
<Bakkot>
michaelficarra ystartsev had two things: invariants in the language, and some norms around process
21:42
<Bakkot>
invariants in the language seem good to write down
21:42
<Bakkot>
the rules for advancement seem like they need to stay more flexible
21:42
<ljharb>
fair
21:52
<devsnek>
ljharb: eqeqeq doesn't autofix
21:52
<devsnek>
it refuses
21:52
<ljharb>
that is true
21:53
<ystartsev>
Bakkot: we do have the "eliding the process" segment which might help
21:53
<ystartsev>
its part of the reason I wrote a more strongly worded approach
21:54
<ystartsev>
but i am also not opposed to loosening
21:55
<Bakkot>
ystartsev I haven't had a chance to read what you actually wrote yet, so I can't actually speak to this
21:55
<rkirsling>
oh man those pings on the line are throwin' me
21:55
<ystartsev>
Bakkot: thats in the existing process -- i will get my text up in a public location asap
21:55
<Bakkot>
ah, yeah
21:55
<ystartsev>
i don't think i can do it today, as i am afraid i might make a mistake (too tired) and there were some restrictions
21:56
<Bakkot>
not rush
22:00
<bterlson>
Have to head out friends. Thanks for a great meeting!!
22:00
<ystartsev>
im also out
22:00
<ystartsev>
thanks everyone for the great meeting
22:00
<leobalter>
big thank you to the chairs and everyone who helped facilitating this meeting
22:02
<jridgewell>
Have there been any messages in #tc39-beginners?
22:02
<ljharb>
last was 1.5 hours ago
22:02
<jridgewell>
Hah
22:02
<haxjs>
This is the first time i know this channel exist
22:03
<devsnek>
jridgewell: https://www.irccloud.com/log-export/111793/irccloud-export-280155-2020-07-23-17-02-54.zip
22:03
<jridgewell>
The previous link was t39, not tc39
22:03
<jridgewell>
I've been idling in a misspelled channel name
22:03
<devsnek>
its your channel now
22:03
<Bakkot>
someone have a link to the beginners channel?
22:04
<devsnek>
#srennigeb-93ct
22:05
<Bakkot>
thank