00:18
<rkirsling>
think I'm just gonna use dev.to since it at least supports syntax-colored codeblocks and doesn't paywall you, unlike Medium
00:18
<rkirsling>
and then work on replacing http://rkirsling.github.io/ with something new as a separate quarantine activity, heh
00:19
<rkirsling>
kinda wish I could guest-post it somewhere but I dunno what'd work since it's too engine-independent for webkit.org and PlayStation doesn't have a dev blog, hehe
01:33
<rkirsling>
https://dev.to/rkirsling/tales-from-ecma-s-crypt-annex-b-3-3-56go
07:37
<robpalme>
@rkirsling: that was an enjoyable and horrifying article
07:47
<rkirsling>
robpalme: :D
17:43
<ljharb>
i missed the hubs test, but i love the room design :-) we should make a chessboard and play!
21:32
<shu>
i missed this morning's tech test for hubs
21:32
<shu>
is the decision for hallway track hubs?
21:33
<devsnek>
i hope so
21:33
<shu>
when myles and a few of us tried zoom's breakout rooms, they didn't quite work as the name suggested
21:36
<bradleymeck>
shu: hubs had its own glitches but it was seemingly preferred and can be left in the background
21:37
<bradleymeck>
can't exactly leave zoom in the background
21:44
<ljharb>
zoom's close to being usable for what we need, but rn it's not usable at all for it
22:48
<rkirsling>
sffc: thanks for creating all those Intl tickets on WK BZ :D now I have a checklist of things to work on
22:51
<rkirsling>
also wow, it's kind of fascinating that `const x = true; x || = 42;` doesn't throw
22:51
<ljharb>
hm, that's actually an interesting point
22:52
<devsnek>
it can throw
22:52
<rkirsling>
(oops, errant space in there, but you know what I mean)
22:52
<ljharb>
like, it shouldn't trigger a setter if it's `obj.x ||= 42`
22:52
<devsnek>
it can throw without triggering a setter
22:52
<ljharb>
but maybe it should throw if it's a const on the LHS - but then it'd be inconsistent
22:52
<devsnek>
it resolves the reference
22:53
<jridgewell>
I think it would have been better we threw early errors for any assignment to a const
22:54
<jridgewell>
But I followed the precedent
22:54
<devsnek>
we can't know at early error time
22:54
<devsnek>
actually wait can we
22:54
<Bakkot>
we totally can
22:54
<jridgewell>
Could have, but it'd be a huge breaking change now
22:54
<devsnek>
can anything shadow lexical variables
22:54
<Bakkot>
as long as there is no`with` or `eval`
22:54
<devsnek>
ok so eval
22:55
<Bakkot>
direct eval in particular
22:55
<devsnek>
unfortunate
22:55
<Bakkot>
we should have just made it an error unconditionally though
22:55
<jridgewell>
Babel had to change its const behavior to rewrite the assignments with a throw.
22:55
<devsnek>
jridgewell: what do you think about throwing in logical assignment if the reference is constant
22:55
<Bakkot>
and if you had an `eval` or `with` which would have made it conditional, that would be on you
22:55
<jridgewell>
I would like that
22:55
<Bakkot>
also this might not have been web-compat because firefox had shipped `const` previously maybe? I forget
22:56
<devsnek>
i didn't think es2015 const was compatible with old firefox const
22:56
<Bakkot>
fwiw I don't think it would be good to special-case logical assignment to const here
22:56
<rkirsling>
yeah I'm not objecting to the simplicity of the current spec
22:56
<devsnek>
i don't mind either
22:56
<rkirsling>
just slightly lamentable
22:57
<devsnek>
but it might be worth discussing
22:57
<Bakkot>
it is not obviously more important than getting errors for strict-mode assignment to nonwritable variables
22:57
<rkirsling>
I think it IS worth mentioning in plenary
22:57
<rkirsling>
I totally forgot about it until drousso just noticed it in his own impl tests
22:57
<devsnek>
in a way, it's not technically wrong
22:57
<devsnek>
it doesn't assign
22:57
<Bakkot>
yeah
22:58
<devsnek>
and it throws if it does assign
22:58
<Bakkot>
I wonder if it would be web-compat to make assignment to const an early error
22:58
<Bakkot>
almost certainly not, I guess
22:58
<Bakkot>
but :(
22:58
<devsnek>
gotta get an assignment to const counter
22:59
<drousso>
yeah i was going to bring it up :P
22:59
<Bakkot>
devsnek: do you know about the third mutable/constant variant for variables?
22:59
<Bakkot>
function names, in particular
22:59
<Bakkot>
const-but-writing-fails-silently
22:59
<devsnek>
lul
22:59
<Bakkot>
what a dumb language
22:59
<rkirsling>
heh
22:59
<devsnek>
whenever i get annoyed with js
22:59
<devsnek>
i spend more time working on my toy language
22:59
<devsnek>
(i've been working on it a lot while we've been talking about records and tupes)
23:00
<rkirsling>
outlets are important
23:00
<drousso>
also jridgewell huge fan of this proposal :)
23:00
<devsnek>
are tests not required for stage 3
23:01
<rkirsling>
complete tests are definitely not required
23:01
<jridgewell>
😄
23:01
<devsnek>
so implementations are expected to start working on it without tests
23:01
<devsnek>
i guess this is where web compat issues come from
23:02
<rkirsling>
uh I mean the earlier the better but generally help is needed with the test262 tests
23:02
<jridgewell>
Stage 3 generally locks the spec, which is how we know what to test.
23:02
<drousso>
yeah i do think it would've bene nice to have tests 😅
23:02
<drousso>
but i may have jumped the gun a bit on implementing it
23:02
<jridgewell>
I can work on them, but it'll just be me copy pasting the `+=` tests
23:03
<devsnek>
do we know what has implemented logical assignment yet
23:03
<drousso>
mainly happened cause i had to call "dibs" or rkirsling would've implemented it before me 🤣 (thanks again rkirsling ❤️)
23:03
<Bakkot>
stage 3 requires a PR with some tests, doesn't it?
23:03
<Bakkot>
just not totally complete tests
23:03
<rkirsling>
lol I was going to do it this weekend otherwise
23:03
<drousso>
devsnek i have a patch up for JSC :) <https://webkit.org/b/209716>;
23:03
<rkirsling>
instead I worked on upgrading ICU lol
23:03
<drousso>
hasn't landed yet tho
23:03
<devsnek>
hm that might mean engine262 was first
23:03
<Bakkot>
jridgewell test262 supports generating tests; might be a good place for this
23:05
<rkirsling>
re: where web compat issues come from
23:05
<rkirsling>
I think it's kind of the opposite of true
23:05
<jridgewell>
Babel supports it!
23:06
<ljharb>
Bakkot: stage 3 requires complete merged tests
23:06
<ljharb>
not just some
23:06
<Bakkot>
oh neat
23:06
<devsnek>
when did google drive stop doing shortlinks for the share button :(
23:06
<Bakkot>
oh I knew that
23:06
<Bakkot>
wawait no
23:06
<Bakkot>
stage 4 requires that
23:06
<jridgewell>
> During stage 3, test262 tests should be authored and submitted via pull request. Once it has been appropriately reviewed, it should be merged to aid implementors in providing the feedback expected during this stage.
23:07
<Bakkot>
stage 3 does not require any tests
23:07
<Bakkot>
per the process document
23:07
<rkirsling>
tests are literally only for Stage 4: https://tc39.es/process-document/
23:07
<ljharb>
oh right
23:07
<jridgewell>
I hope not, I haven't written them.
23:07
<ljharb>
Bakkot: that's stage 4, sorry
23:07
<Bakkot>
yeah
23:07
<rkirsling>
we definitely did not have good tests in order when ?. and ?? hit Stage 3
23:07
<ljharb>
it's a good signal to have them posted for stage 3 tho, altho not merged
23:07
<Bakkot>
I have been in the habit of opening a PR with tests prior to going for stage 3
23:07
<rkirsling>
...but I think we had more than zero
23:07
<rkirsling>
for that "signal" ljharb mentioned
23:08
<rkirsling>
like a test plan
23:08
<drousso>
jridgewell i dunno if you or anyone else has written any tests, but you're welcome to use any of the ones I wrote if that'd help :)
23:08
<drousso>
mine are by no means fully comprehensive tho
23:08
<rkirsling>
oh look, speaking of which: https://github.com/tc39/test262/issues/2538
23:08
<drousso>
definitely missing some cases
23:08
<jridgewell>
What are your tests?
23:08
<Bakkot>
kind of think we ought to require nonzero tests open in a PR as a requirement for going to stage 3
23:08
<Bakkot>
often it helps think through the semantics
23:08
<drousso>
jridgewell they're in the patch I have for JSC <https://webkit.org/b/209716>;
23:09
jridgewell
frantically starts writing tests
23:09
<Bakkot>
not for this meeting obviously :P
23:10
<devsnek>
i wish more people would use the blue and yellow slides theme
23:10
<rkirsling>
nonzero seems positive; my one counterpoint is that it's easy to write mistaken tests that way
23:10
<devsnek>
it works great for js stuff
23:10
<devsnek>
ljharb: thanks for deleting the branch too 👍🏻
23:10
<rkirsling>
e.g.: https://github.com/tc39/test262/pull/2411
23:10
<jridgewell>
Which theme?
23:11
<devsnek>
jridgewell: https://gc.gy/53314860.png
23:11
<ljharb>
devsnek: it's a github checkbox, it's automatic now
23:11
<devsnek>
o
23:11
<sffc>
rkirsling: yep, I realized there hadn't ever been bugs filed for the last 2yrs of Intl features for JSC. There is a bit of catch-up to do ;)
23:11
<Bakkot>
rkirsling: one would fix the tests in the PR if there's a bug discovered in the spec text, presumably
23:11
<rkirsling>
Bakkot: oh I meant a bug due to the test having misread the spec text
23:11
<Bakkot>
oh
23:12
<Bakkot>
not sure why that would come up any more when going for stage 3 than 4
23:12
<devsnek>
if there are bugs in the tests i will inevitably find them
23:12
<devsnek>
i have a slide on this in my presentation
23:12
<rkirsling>
sffc: yeah. on the one hand, it's sad that we're so behind. on the other hand, it's lots of really awesome stuff to work on! currently in the midst of updating our minimum ICU version from 55 to 62, heh
23:13
<rkirsling>
Bakkot: it wasn't an objection :p just a thought