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 |