02:05 | <keith_miller> | shu: I commented on the github thread. I'll start working on the slides now |
02:05 | <keith_miller> | ๐ฌ |
02:05 | <shu> | keith_miller: :+1: |
02:37 | <ljharb> | `import.meta` has landed |
02:39 | <devsnek> | ๐ |
02:47 | <rkirsling> | somebody's excited |
17:01 | <akirose> | My computer KPed and is struggling to start |
17:15 | <rkirsling> | +1 to "days are more destructive than hours" |
17:15 | <ljharb> | +2 |
17:16 | <ljharb> | +1 as well that a 3 day travel meeting requires up to 5 days blocked off |
17:20 | <jackworks7> | and it's 1am now I'm very sleepy even I had go to sleep 8pm |
17:21 | <jackworks7> | stay up for whole night for 4 or 5 days is not acceptable for me :( |
17:22 | <ljharb> | no matter how we structure the times, that's going to be a requirement for somebody |
17:22 | <ljharb> | during every meeting, i mean |
17:23 | <jackworks7> | maybe should collect acceptable time range of everyone and try to find a way to let less people meeting in 0am to 6am |
17:24 | <michaelficarra> | what rude response was Waldemar referring to? |
17:24 | <ljharb> | michaelficarra: https://github.com/tc39/Reflector/issues/276 iirc |
17:25 | <ljharb> | jackworks7: agreed, node TSC has a tool that tries to minimize that, and takes into account everybody's timezone |
17:25 | <michaelficarra> | oh I see, I think it was just miscommunication |
17:28 | <rkirsling> | yeah I was surprised by the callout |
17:36 | <ljharb> | +1 to waldemar/myles' point as well that the remote only works well because we have existing non-remote relationships |
17:36 | <rkirsling> | this queue is too long :( but I'll repeat that hallway track doesn't work if it requires you to juggle multiple machines |
17:36 | <jackworks7> | I have to say |
17:37 | <michaelficarra> | +1 ljharb |
17:37 | <jackworks7> | Minecraft with appropriate mods might be a better choice than the hub |
17:37 | <michaelficarra> | rkirsling: also if the 1 hour break takes 40 minutes in food prep |
17:37 | <michaelficarra> | (for lunch) |
17:38 | <michaelficarra> | also no Wednesday dinner, which often was very productive |
17:38 | <michaelficarra> | a lot of proposals only exist because of discussion that happened at the dinners |
17:38 | <ljharb> | +1000 ^ |
17:38 | <rkirsling> | yeah I thought that Weds dinner would've been the sole appropriate time FOR hubs |
17:38 | <rkirsling> | but then it didn't happen? |
17:38 | <ljharb> | nobody showed up |
17:39 | <drousso> | yeah the wednesday dinner |
17:39 | <rkirsling> | I didn't show up because we just ended with no remark |
17:39 | <ljharb> | hubs is open whenever we're not in plenary, 24/7 :-p |
17:45 | <caridy> | At TPAC/WC meeting last week (first time remote for everyone), we did 4 hours per day... worked well (although less people: ~25 delegates) |
17:53 | <ystartsev> | rkirsling: srry i fell asleep :| |
17:53 | <ystartsev> | for the dinner |
17:53 | <littledan> | I *love* bterlson 's idea here! |
17:53 | <littledan> | Node collaborator summits are awesome, and I think we could do a lot in something like this |
17:53 | <littledan> | it could be adjacent to a normative plenary |
17:53 | <rkirsling> | ystartsev: oh sorry, I wasn't mean to blame anybody :( |
17:54 | <ystartsev> | ๐ |
17:54 | <akirose> | thinking of it more like a "collaborator summit" i think is a great way to think of it |
17:54 | <littledan> | also wanted to mention, lots of non-US countries have difficult border policies that would inhibit travel of TC39 delegates. In fact, I doubt there's any rich country we could choose in the world that everyone could just go to. |
17:55 | <bterlson> | I messed up by calling it a conf |
17:55 | <bterlson> | collaborator summit is a better term |
17:55 | <ljharb> | littledan: +1 |
17:55 | <ystartsev> | bterlson: i like that idea a lot |
17:55 | <littledan> | (multiple Igalians have had trouble getting into Canada for technical conferences, for example) |
17:56 | <ljharb> | +1 again, canada is not better than the US here |
17:56 | <shu> | i had top drop for a 1:1 for 30 minutes |
17:56 | <shu> | was there discussion around short-form vs long-form plenaries and where did folks land? |
17:56 | <leobalter> | Today is seems that Canada is easier. Back in 2013 it was not fun for me attending a Mozilla Summit there. |
17:57 | <ljharb> | shu: some preferred more days shorter hours, some preferred fewer days |
17:57 | <shu> | any clear minority or majority? |
17:58 | <ljharb> | not that i saw, but i wasn't keeping tabs |
17:58 | <leobalter> | shu IMO not in dense, definitely a subtopic that needs work in the current discussion |
17:58 | <shu> | sorry, in dense? |
17:58 | <leobalter> | it havent'been discussed extensively |
17:58 | <littledan> | yeah, we had some discussion but we didn't have much of a conclusion or even a strong tendency in the room |
17:59 | <shu> | okay, thank you |
18:02 | <ljharb> | wsdferdksl: ebola doesn't have a cure or vaccine, and zero cases weren't required to avoid restrictions. i'm not sure epidemiologists would agree with your logic here |
18:02 | <shu> | this is not a productive discussion |
18:02 | <shu> | i suggest chairs get to dan's item |
18:02 | <ljharb> | fair |
18:03 | <shu> | this can be executive decisioned imo |
18:03 | <howdoi> | where can I subscribe myself to the Temporal weekly meetings? |
18:04 | <ghmcadams> | I agree. Its not about knowing what will happen and deciding what is best. Its about planning now based on our best guess. |
18:05 | <michaelficarra> | maybe I'm dumb, but if a country has 0 cases, we have rapid cheap testing available, and the country requires everyone entering its borders to test negative, can't we theoretically travel safely before a vaccine? |
18:05 | <ghmcadams> | its not that simple. tests might be inaccurate or take longer to get a result than we want to wait. |
18:06 | <bterlson> | michaelficarra: if you're healthy sure |
18:06 | <ljharb> | michaelficarra: we don't even need 0 cases, just thorough and rapid testing |
18:06 | <rkirsling> | thank you for PoO |
18:06 | <ljharb> | and accurate ofc |
18:06 | <rkirsling> | this subtopic needs to stop |
18:07 | <ghmcadams> | carriers exist with no symptoms. its not just about safety for us. its about all who we come in contact with while traveling, after traveling, etc. I for one wouldn't travel and put my family at risk |
18:07 | <ljharb> | ghmcadams: symptoms don't affect testing, just who you decide to test |
18:07 | <ystartsev> | ljharb: you can get false negatives with current tests |
18:08 | <ljharb> | sure, current tests aren't good enough |
18:08 | <benjamn> | this line of discussion is an absolute waste of time |
18:08 | <ystartsev> | yeah i don't think this is useful |
18:08 | <benjamn> | do we need another point of order? |
18:08 | <benjamn> | maybe he's done |
18:09 | <shu> | please, chairs, let's move to dan's item |
18:09 | <benjamn> | yes please |
18:11 | <ljharb> | here's ES2020 for folks' review: https://github.com/tc39/Reflector/issues/282 |
18:11 | <Bakkot> | nice! |
18:12 | <wsdferdksl> | ljharb: ebola is very different. This is not a productive discussion. |
18:12 | <benjamn> | MylesBorins: thank you, I also disagree |
18:12 | <ljharb> | wsdferdksl: agreed, neither are any claims from a non-epidemiologist on how epidemics work. |
18:12 | <ljharb> | re ES2020, for those who have had PDF complaints, please check the PDF - it's in A4, with page numbers and a clickable TOC |
18:12 | <wsdferdksl> | ljharb: That's incorrect. |
18:13 | <wsdferdksl> | It's unproductive to keep bringing up the claim about needing to be an epidemiologist to contribute to the discussion. That's false. |
18:13 | <leobalter> | ljharb please let me know what you've used for the page numbers, etc |
18:13 | <ljharb> | leobalter: adobe acrobat DC, free trial |
18:14 | <leobalter> | yeah, I wondered if there is something beyond acrobat for that. I don't want to personally pay for it to just print the PDF |
18:15 | <ljharb> | i printed to PDF just from my mac; then i edited it to add the 4 frontmatter pages, and add page numbers to pages 5+ |
18:15 | <Bakkot> | we should figure out a better alternative. |
18:15 | <ljharb> | adding the pages i did in Preview; only the page numbers and editing text content required Acrobat |
18:15 | <devsnek> | you could probably make a script using pdfkit or something |
18:17 | <michaelficarra> | ljharb: the editors list is wrong |
18:17 | <Bakkot> | should just have ecmarkup output latex and then run latex2pdf |
18:17 | <ljharb> | michaelficarra: for 2020? |
18:17 | <michaelficarra> | in the PDF download |
18:18 | <ljharb> | michaelficarra: we talked about that on the editor call; that the list would be updated for 2021, not for 2020 |
18:18 | <michaelficarra> | oh I forgot that |
18:18 | <michaelficarra> | okay that makes sense |
18:20 | <littledan> | I'm very much in favor of cancelling the in-person plenaries ahead of time. Having to plan for and incrementally cancel meetings would be stressful and complicated. |
18:20 | <caridy> | we have 60 people in this meeting, just ask... |
18:21 | <akirose> | it sucks. i know it sucks. |
18:21 | <akirose> | but it justโฆ it is what it is. |
18:21 | <ljharb> | MylesBorins: i'm not a fan of shutting down any possibility of in-person meetings in 2020, i'm just acking the likelihood that they won't be possible |
18:21 | <littledan> | I'm a big fan of providing certainty this year. We have enough to worry about. I'm not a fan of this situation. |
18:22 | <apaprocki> | my (elided) queue item was that I can't wait until June to move on Tokyo in September.. I need to make a call on it within a month, as ~1k people /day are dying in NYC, and that call will 99.9% be => cancel |
18:22 | <brad4d> | asking here - can drop from tcq if answered |
18:22 | <ystartsev> | the situation in budapest is also very problematic |
18:22 | <brad4d> | how much lead time is needed to plan an in-person plenary? |
18:22 | <apaprocki> | ~180 days it starts |
18:22 | <brad4d> | ok, thx |
18:22 | <littledan> | and it's not like we could move to Barcelona to solve the problems in Budapest! |
18:22 | <apaprocki> | :P |
18:24 | <jackworks7> | ljharb: I like the new PDF, I can upgrade from es2018 to es2020 now |
18:24 | <ljharb> | MylesBorins: i just hope that after covid is done and everyone's comfortable, we don't need consensus to restart in-person meetings |
18:24 | <ljharb> | jackworks7: glad to hear it! |
18:24 | <littledan> | +1 to msaboff 's comment |
18:24 | <jridgewell> | ++ |
18:24 | <ystartsev> | ++ |
18:24 | <ystartsev> | + |
18:24 | <ystartsev> | :| |
18:25 | <jridgewell> | ๐ |
18:25 | <shu> | one is unary one is binary |
18:25 | <devsnek> | 111 |
18:25 | <littledan> | did we move from JS to BF as the language for this channel? |
18:26 | <ystartsev> | can find a reason to make :| a valid opeerator? i feel like that emoji expresses my feelings while coding |
18:26 | <devsnek> | [>>++] |
18:26 | <jackworks7> | just for curious, is there a diff between spec of last year and current year so that the implementer can know what details has changed in a year? |
18:26 | <rbuckton> | I've always been partial to :/ |
18:26 | <Bakkot> | littledan http://www.jsfuck.com/ |
18:26 | <ystartsev> | ^also good |
18:26 | <msaboff> | LOL to Mark Cohen's queue item |
18:26 | <devsnek> | jackworks7: you can diff it using the github releases, and we also list important changes at the top of the document |
18:27 | <wsdferdksl> | :(){ :|:& };: |
18:27 | <ljharb> | jackworks7: there's a "commits" link on the github repo |
18:27 | <ljharb> | jackworks7: also, the intro summarizes changes in each edition |
18:28 | <jackworks7> | oh cool |
18:28 | <rwaldron> | MylesBorins akirose shu can I ask a favor? |
18:28 | <ljharb> | jackworks7: but i believe most implementers don't use the yearly editions; the instant it lands in master it's in the languge |
18:28 | <akirose> | what up |
18:28 | <Bakkot> | jackworks7: git log --pretty=oneline --abbrev-commit es2019..es2020 | grep 'Normative:' |
18:28 | <rwaldron> | Would we be able to do "Atomics.waitAsync error rejection PR" before my hard 5pm EST stop? |
18:28 | <michaelficarra> | ึถ๐ฎโโ๏ธ๐ #tdz |
18:29 | <shu> | rwaldron: weakrefs is more pressing |
18:29 | <Bakkot> | ljharb a lot of tooling implementors do use the yearly versions |
18:29 | <ljharb> | ah that's true, eslint and babel and whatnot |
18:29 | <ljharb> | fair |
18:29 | <rwaldron> | shu no doubt, but I was hoping that maybe MylesBorins wouldn't mind doing the process change topic at the end of the day |
18:29 | <devsnek> | tooling implementations need to stop using yearly versions |
18:29 | <shu> | rwaldron: i think we should consider waitAsync bumped until next meeting if schedule is tight. i'm also going to try to do the incubator call chartering in ~10mins |
18:30 | <shu> | rwaldron: ah okay, then the only constraint for me is weakrefs don't get bumped |
18:30 | <MylesBorins> | I think that process discussion will be super short fwiw |
18:30 | <rwaldron> | shu I also need an answer on weakrefs <3 |
18:30 | <MylesBorins> | if think we probably can squeeze both in before lunch |
18:30 | <akirose> | we have some extra time, just a matter of juggling around some things |
18:30 | <rwaldron> | MylesBorins if shu agrees, then I would be very appreciative |
18:31 | <jridgewell> | There's a 75min empty slot at the end of today |
18:31 | <jridgewell> | We should have time for everything and then some |
18:31 | <akirose> | yeah like i said it's all about juggling |
18:31 | <shu> | i'm happy to move waitAsync up and try to time it to 15mins, though i feel like it'll overflow to at least 20 or 25 |
18:31 | <MylesBorins> | want to do yours first? |
18:31 | <MylesBorins> | shu ? |
18:32 | <shu> | which of mine? |
18:32 | <shu> | the answer is yes though |
18:32 | <MylesBorins> | We have 25 minutes ish |
18:32 | <MylesBorins> | I'll move process discusssion |
18:32 | <rwaldron> | MylesBorins if we could do both the weakrefs and waitAsync before I have to depart for child care, I would be ever so grateful |
18:32 | <shu> | weakrefs is going to need more than 25 minutes |
18:32 | <shu> | i can try to do either incubator call chartering or waitAsync in 25 minutes, so let's do incubator calls? |
18:33 | <shu> | err, i mean waitAsync? |
18:33 | <rwaldron> | I don't know what the incubator calls topic is |
18:33 | <MylesBorins> | shu are you ok with me swapping incubator and weakrefs? |
18:33 | <rwaldron> | yes waitAsync |
18:34 | <rwaldron> | Here's my wishlist: can we do weakrefs and waitasync next |
18:34 | <shu> | MylesBorins: i'm not up to date on the ordering, what concrete times are we takling about? |
18:34 | <MylesBorins> | https://hackmd.io/8Ok_eshBSTCfd8Zh8crQ3Q |
18:34 | <MylesBorins> | stomics would be next |
18:34 | <MylesBorins> | with 25 minutes |
18:34 | <MylesBorins> | then lunch for an hour |
18:34 | <MylesBorins> | then weakrefs |
18:34 | <rwaldron> | phonetically... stomics will come after whatever we do next |
18:34 | <akirose> | -_- |
18:34 | <rwaldron> | :D |
18:35 | <rwaldron> | akirose gets me |
18:35 | <akirose> | lol only begrudgingly |
18:35 | <shu> | MylesBorins: that looks okay with me |
18:35 | <devsnek> | we have 75m of extra time? |
18:35 | <rkirsling> | rwaldron: nice |
18:35 | <rwaldron> | :D |
18:35 | <MylesBorins> | yup |
18:35 | <rwaldron> | rkirsling ^5 |
18:35 | <MylesBorins> | I moved stuff around |
18:35 | <MylesBorins> | PTAL |
18:35 | <akirose> | ๐ |
18:36 | <rwaldron> | MylesBorins thank you so much |
18:36 | <MylesBorins> | rwaldron you will be done at 1:25 PT |
18:36 | <rwaldron> | I really appreciate that |
18:36 | <jackworks7> | devsnek: (re: tooling implementations need to stop using yearly versions |
18:37 | <rwaldron> | And thank you to everyone else for being so flexible and accamodating |
18:55 | <rbuckton> | While it possibly suffers from the same drawback as the `load` workaround, is it feasible to workaround with a `Atomics.wait` with a 0ms timeout for fail-fast, then call `Atomics.waitAsync`? |
18:55 | <Bakkot> | that suffers the same drawback as the `load` workaround |
18:55 | <Bakkot> | oh actually |
18:55 | <Bakkot> | the actual problem is that you cannot `.wait` on the main thread |
18:56 | <Bakkot> | the point of waitAsync is that you can do it on the main thread |
18:57 | <rbuckton> | You cannot `.wait` on the main thread? or you "should not" `.wait` on the main thread? |
18:57 | <Bakkot> | cannot |
18:58 | <devsnek> | it throws |
18:58 | <rbuckton> | Ah: https://tc39.es/ecma262/#sec-agentcansuspend |
18:59 | <devsnek> | "the main thread" is an iffy way to describe it imo |
18:59 | <devsnek> | in node's main thread you can use Atomics.wait just fine |
18:59 | <rbuckton> | Its agent dependent, so on the web you *cannot*, but in other hosts you might be able to. |
18:59 | <rbuckton> | devsnek: that's why I was confused, as I've done this successfully in Node. |
19:00 | <devsnek> | had same confusion with shu yesterday :P |
19:00 | <Bakkot> | sorry, I should have specified on the web, yes |
19:00 | <devsnek> | do things still ship Atomics.wake |
19:00 | <Bakkot> | chrome does, looks like |
19:01 | <devsnek> | looks like everything still does |
19:01 | <jridgewell> | For the uninitiated, Zalgo is: |
19:01 | <devsnek> | wasn't that supposed to be removed at the same time as SAB is reenabled |
19:01 | <jridgewell> | https://www.irccloud.com/pastebin/p0JJpKT7/zalgo.js |
19:01 | <jridgewell> | The logs must always be 'ABC' or 'ACB' |
19:01 | <ljharb> | littledan: by "no change" do you mean, sometimes throws sometimes returns a promise? or always returns a promise |
19:01 | <littledan> | ljharb: Yes, unfortunately |
19:01 | <jridgewell> | If it's sometimes one and sometimes the other, you've unleased Zalgo |
19:01 | <littledan> | that it sometimes throws a promise, sometimes not |
19:02 | <littledan> | so, tip of tree |
19:02 | <ljharb> | littledan: right, that violates the consensus/policy we all agreed on with async functions |
19:02 | <Bakkot> | "no I hat thenables" +1 |
19:02 | <ljharb> | i'd consider that a blocker |
19:02 | <jridgewell> | Returning a sync thenable doesn't solve Zalgo |
19:02 | <rbuckton> | Much prefer the tagged/discriminated union approach |
19:04 | <devsnek> | the argument validation is definitely a problem |
19:05 | <rbuckton> | If you're using `async/await` it's not that bad. I'd argue that returning `Promise | string` is worse. |
19:08 | <ljharb> | not that bad anyways imo; `result.async ? result.value.then(doWork) : doWork()` or similar |
19:09 | <rbuckton> | -1 to zalgo by way of untagged union, +1 to tagged union |
19:10 | <ljharb> | lol, horrible idea: the string constants could instead be well-known frozen Promise objects แ( แ )แ |
19:10 | <rbuckton> | ljharb: I'd consign that one to #temporaldeadzone |
19:10 | ljharb | slinks away |
19:11 | <rbuckton> | /s |
19:11 | <devsnek> | this is one weird api |
19:11 | <rbuckton> | No kidding. |
19:11 | <Bakkot> | atomics get weird fast |
19:12 | <rbuckton> | Consensus is `Promise | "ok" | "not-equal" | "timed-out"`? |
19:12 | <Bakkot> | no, consensus is tagged |
19:12 | <rbuckton> | Ok, good. |
19:12 | <shu> | {async:true|false, value:"not-equal"|"timed-out"|Promise} |
19:12 | <Bakkot> | { async: true, value: Promise } or { async: false, "ok" | "not-equal" | "timed-out" } |
19:12 | <Bakkot> | oh yeah not "ok" in the last branch |
19:13 | <shu> | yeah ^ |
19:13 | <rbuckton> | `{ async: false, value: "ok" | "not-equal" | "timed-out" } | { async: true, value: Promise<"ok" | "not-equal" | "timed-out"> }` |
19:13 | <devsnek> | `any` |
19:13 | <rbuckton> | Why would `"ok"` not be valid if the timeout is 0ms? |
19:13 | <shu> | rbuckton: almost |
19:14 | <shu> | there is no promise resolution of "not-equal" |
19:14 | <shu> | there is no slow fail-fast case |
19:14 | <rbuckton> | Ah, I see. |
19:14 | <Bakkot> | wait shu can you give the actual correct type |
19:14 | <Bakkot> | I keep confusing myself |
19:14 | <Bakkot> | for which is legal where |
19:15 | <shu> | `{async: false, value: "not-equal" | "timed-out" } | { async: true, value: Promise<"ok" | "timed-out"> }` |
19:15 | <sffc> | howdoi: if you send me your Gmail I'll add you to the Google Group which comes with the weekly meeting invite |
19:15 | <rbuckton> | ๐ |
19:15 | <Bakkot> | great |
19:16 | <shu> | for async:false to be able to return `"ok"`, the implementation would need to implement a microwait like `pause` to see if it got changed to the value you want in the 1microsecond OS quantum or whatever |
19:16 | <shu> | and that is just weird |
19:16 | <howdoi> | sffc: sure, thanks! |
19:16 | <shu> | and thus not allowed |
19:16 | <rbuckton> | shu: Yeah, makes sense. |
20:06 | <robpalme> | we will resume in 5 mins |
20:11 | <devsnek> | weakrefs ๐ |
20:14 | <devsnek> | are there any major engines where allocating an ordinary object isn't just incrementing a pointer |
20:15 | <shu> | only young generations tend to be bump allocated |
20:16 | <devsnek> | yeah i'm guessing the result of atomics.waitAsync would not be old generation :P |
20:16 | <shu> | almost always they will be young |
20:17 | <Bakkot> | also there's no way that object allocation is going to be as expensive as a microtask tick from the application's perspective |
20:17 | <devsnek> | i know in v8 you can explicitly ask for young or old generation too |
20:17 | <devsnek> | actually i don't know if that's exposed to torque yet |
20:19 | <ghmcadams> | I noticed that today, people do not have their full name and company showing. Can we all make this change as we did on Tuesday? |
20:21 | <ghmcadams> | (in zoom) |
20:22 | <MylesBorins> | point of order raised |
20:25 | <ghmcadams> | Thank you, Myles |
20:27 | <jridgewell> | Is there an example use case that needs sync finalization with long-running task? |
20:27 | <jridgewell> | Like, games, but how are the games allocating JS objects? |
20:27 | <jridgewell> | And why do they need to be cleaned up? |
20:28 | <devsnek> | jridgewell: right now they have to emit manual cleanup |
20:28 | <devsnek> | which can introduce subtle leaks and such |
20:28 | <jridgewell> | Cleanup of what? |
20:29 | <jridgewell> | The thing I don't understand is how they're using JS objects |
20:29 | <devsnek> | they're allocating memory in arraybuffers |
20:29 | <devsnek> | emscripten/wasm |
20:29 | <devsnek> | the memory has to be manually deallocated |
20:29 | <jridgewell> | And they're sending individual array buffers to the main thread? |
20:29 | <devsnek> | no |
20:29 | <jridgewell> | To do what? |
20:30 | <devsnek> | you have some native code that does things |
20:30 | <devsnek> | it uses a not shared arraybuffer as its memory |
20:30 | <devsnek> | when you pass a reference into that memory to js |
20:30 | <devsnek> | you have to manually track the lifetime |
20:30 | <devsnek> | finalizationregistry means you no longer have to manually track the lifetime |
20:30 | <jridgewell> | Yes, I understand that part |
20:31 | <jridgewell> | What I don't understand is how they're using the JS objects on the JS side of the bridge |
20:31 | <jridgewell> | If they're sending something to JS, what do they use that for? |
20:31 | <devsnek> | you usually are wrapping a native lib and calling it from js |
20:31 | <jridgewell> | Any explanation of that would be really helpful for me to understand |
20:32 | <devsnek> | like `{ ref: n, x() { _binding.x(this.ref) }` |
20:32 | <devsnek> | you have instances like that |
20:32 | <devsnek> | they're just wrapping native libraries |
20:32 | <devsnek> | like native addons in nodejs but using wasm/emscripten instead |
20:33 | <devsnek> | (native addons in node get weakref tracking btw) |
20:33 | <jridgewell> | > you usually are wrapping a native lib and calling it from js |
20:33 | <jridgewell> | Doesn't that mean you live in JS world, and are subject to the JS event loop? |
20:34 | <devsnek> | not inherently |
20:34 | <devsnek> | the applications are usually a lot more complex |
20:34 | <sffc> | Is GitHub down? |
20:34 | <mhofman> | it is for me in SF |
20:34 | <rickbutton> | yeah |
20:34 | <devsnek> | i think the emscripten repo might have some more in-depth examples |
20:34 | <devsnek> | yeah it seems down |
20:35 | <jridgewell> | Lol, bad timing. |
20:35 | <ljharb> | sffc: https://www.githubstatus.com/ |
20:35 | <bterlson> | github pages is up at least๐ |
20:35 | <ljharb> | gist is down too tho |
20:39 | <mmarchini> | +1 thanks gus |
20:39 | <devsnek> | lol |
20:44 | <devsnek> | a usable decorator api might start from a most scoped api instead of a least scoped api |
20:44 | <devsnek> | `const a = with operator Vector { v1 + v2 }` or something |
20:44 | <devsnek> | expands out to multiple statements |
20:44 | <devsnek> | but encourages you to keep it small so you don't slow down other operations |
20:48 | <devsnek> | s/decorator/operator overloading/ lol |
20:49 | <rbuckton> | aren't the cases where you do a binary operator like `+` between a number and a non-number already not fast path because of `@@toPrimitive` and `valueOf`? |
20:50 | <devsnek> | depends on what you call fast path |
20:50 | <devsnek> | engines optimize based on whether those methods exist, have been modified, and whatnot |
20:53 | <ljharb> | https://tc39.es/ecma262/2020/ |
20:53 | <rbuckton> | Couldn't they also optimize based on whether those operators are present on the object? |
20:53 | <bradleymeck> | rbuckton: there are cases where it is a non-fast path yea, but also cases where it is fast |
20:54 | <rbuckton> | You shouldn't be able to add operators to an existing primitive, so `1 + 1` would always remain fast-path. |
20:55 | <ljharb> | https://usercontent.irccloud-cdn.com/file/uUWGvAJE/ECMA-262%2011th%20edition%20June%202020.pdf |
20:55 | <rbuckton> | Depending on how the `struct` proposal I'm working on evolves, if operators are limited to only `struct` values then that becomes a specific heuristic that would reduce the need for a `with operators`-like syntax. |
20:56 | <rkirsling> | yay expedited roll call |
20:56 | <bradleymeck> | i had to drop due to baby but wanted to say yes |
20:57 | <devsnek> | is that an official yes from godaddy |
20:59 | <rwaldron> | Ok, I have to roll off for childcare now. Thanks everyone!! |
21:00 | <akirose> | wycats: we are missing you this week |
21:00 | <ljharb> | MylesBorins: i assume applicant members don't count |
21:00 | <MylesBorins> | I don't think so |
21:00 | <devsnek> | ๐ |
21:01 | <devsnek> | ljharb: how many pages this year |
21:01 | <ljharb> | 856 |
21:01 | <Bakkot> | 860 pages in the PDF |
21:02 | <ljharb> | 4 cover, + 856 from the spec itself |
21:02 | <devsnek> | a good amount |
21:02 | <MylesBorins> | such spec |
21:02 | <ljharb> | 2019 had 764 of spec, 2018 had 801, 2017 had 881 |
21:02 | <rkirsling> | many text |
21:02 | <devsnek> | 1000 by 2030 |
21:03 | <Bakkot> | 46 of those pages are the table of contents |
21:03 | <Bakkot> | ljharb wait, we were actually trending down for a while? |
21:03 | <bterlson> | btw you cannot re-log in to TCQ |
21:03 | <ljharb> | oh lol true, i didn't count TOC pages |
21:03 | <devsnek> | ljharb: the fonts in this pdf are iffy |
21:03 | <ljharb> | Bakkot: lol yes apparently! |
21:03 | <devsnek> | or at least rendered iffy |
21:03 | <bterlson> | so I recommend not closing tcq while github is down :) |
21:03 | <Bakkot> | devsnek they look great to me |
21:03 | <ljharb> | devsnek:in the first 4 pages? or the rest |
21:03 | <devsnek> | https://gc.gy/53566426.png |
21:03 | <ljharb> | devsnek: ignore the first 4 pages |
21:03 | <ljharb> | hm |
21:04 | <devsnek> | these letters are too thin |
21:04 | <devsnek> | and the bold text for literals is too thick |
21:04 | <Bakkot> | devsnek: https://i.imgur.com/yTTpqAt.png |
21:04 | <devsnek> | https://gc.gy/53566480.png |
21:04 | <Bakkot> | looks fine to me |
21:04 | <devsnek> | hm |
21:05 | <devsnek> | maybe firefox then? |
21:05 | <rkirsling> | linux woes? |
21:05 | <devsnek> | i don't have anything custom in linux fontstuff except for fira code |
21:05 | <Bakkot> | linux has traditionally had problems with rendering |
21:05 | <devsnek> | why is it green |
21:06 | <devsnek> | well that shade of green |
21:07 | <Bakkot> | historical reasons :P |
21:07 | <ljharb> | all color shades were chosen by me and brian 2-3 years ago in the print-only CSS to make the contrast better |
21:07 | <devsnek> | i see |
21:07 | <ljharb> | give me CSS diffs and i'm happy to change them |
21:07 | <devsnek> | nah its fine |
21:07 | <ljharb> | (the web colors looked bad on print, so i override them for print) |
21:07 | <devsnek> | was just curious |
21:07 | <devsnek> | the font thing is annoying though, can you use acrobat to save the fonts in the pdf |
21:08 | <ljharb> | not sure |
21:08 | <devsnek> | i've done that with illustrator before |
21:08 | <devsnek> | i've never used acrobat though |
21:08 | <leobalter> | ljharb 262 is 10x bigger than 402 |
21:09 | <devsnek> | but not 10x better |
21:09 | <ljharb> | but 262 is 1.5 times smaller than 402 |
21:09 | <leobalter> | but 402 weights much more in data for sure :) |
21:09 | <bterlson> | github is back! |
21:10 | <gibson042> | the size of 402 is hidden in phrases like "implementation- and locale-dependent" |
21:23 | <mpcsh> | shu: can you put the link to these slides in the agenda and/or in the notes |
21:30 | <devsnek> | a few proposal repos need to be archived |
21:31 | <devsnek> | optional chaining, import.meta, nullish coalescing |
21:31 | <devsnek> | maybe more |
21:32 | <Bakkot> | I kinda dislike archiving, because it prevents editing for misinformation while leaving it available for google, but i guess we're going with it |
21:32 | <devsnek> | i mean it puts a huge yellow banner on it |
21:32 | <ljharb> | we can always unarchive, edit, and rearchive |
21:32 | <devsnek> | hopefully people can make the connection |
21:33 | <ljharb> | i feel it's much better to discourage driveby issues on totally closed proposal repos |
21:33 | <Bakkot> | devsnek the yellow banner does accomplish much of anything |
21:33 | <ljharb> | the inability to file issues and PRs is the important part |
21:34 | <ljharb> | devsnek: for import.meta, you should be an admin on that repo, so you can take care of it |
21:34 | <Bakkot> | in particular, if I state a factual point in an issue, and the repo is then archived, and then I discover the thing I stated was in fact not true, the yellow banner will not inform people of this |
21:34 | <devsnek> | ljharb: i'm not |
21:34 | <ljharb> | Bakkot: we can unarchive, add your comment, and rearchive for that case |
21:34 | <ljharb> | devsnek: ping a chair, as champion you should be |
21:35 | <Bakkot> | ljharb yeah with a bunch of overhead, and in the case where it is a member of the committee for whom this arises |
21:35 | <ljharb> | true |
21:36 | <ljharb> | however people much-later correcting incorrect statements on a merged proposal repo has not, in practice, happened; whereas the async/await repo continues to get people asking how promises work |
21:37 | <devsnek> | (it's just domenic manually handling everyone's http requests) |
21:38 | <Bakkot> | ljharb yeah I do see the benefit |
21:39 | <Bakkot> | I wonder if the github issue template thing lets you just not have any templates |
21:39 | <ljharb> | there's no way to disable issue filing, sadly |
21:40 | <ljharb> | you can turn off PRs, but then old PRs aren't viewable, which is bad |
21:40 | <ljharb> | archival afaik is the only way to prevent new content from being created while leaving all content publicly viewable |
21:44 | <Bakkot> | ljharb you can't turn off issues entirely, but: |
21:44 | <Bakkot> | see what happens when you got to open an issue on https://github.com/bakkot/misc/ |
21:46 | <Bakkot> | sorry, you can turn off issues but that hides the existing ones |
21:46 | <shu> | Bakkot: oh damn i got bamboozled into the discourse |
21:46 | <Bakkot> | I am much less worried about people creating spurious PRs than spurious issues |
21:48 | <ljharb> | in my experience when PRs are on and issues are off, people create a random file to simulate making an issue |
21:49 | <Bakkot> | I suspect that would happen far less frequently |
21:49 | <ljharb> | stopping new issues is nice, but commenting on old ones is a bigger problem |
21:49 | <ljharb> | iow i think the problem i want solved directly conflicts with the ability you want retained :-/ |
21:50 | <Bakkot> | hmm |
21:50 | <Bakkot> | alas |
22:09 | <ghermeto> | it is hard to know who is in the zoom call when they don't have full name and companies. Is that just me? |
22:09 | <ljharb> | ghermeto: add a point of order to the queue about it? |
22:09 | <msaboff> | We have asked many times for Full names and organization. |
22:10 | <keith_miller> | Mine keeps getting cleared because I quit the call and rejoin... |
22:10 | <keith_miller> | I wish I could set it for the call # |
22:10 | <michaelficarra> | yeah it's hard when Zoom resets it every time you leave... |
22:11 | <ghermeto> | just added a point of order... is that too late? |
22:11 | <ljharb> | no |
22:11 | <ljharb> | thanks |
22:15 | <brad4d> | OT: I'm fighting to make my info show up right in IRC - anyone willing to IM me directly to hold my hand on this? |
22:15 | <ljharb> | brad4d: sure |
22:16 | <apaprocki> | The BIS re-opened the public comment period for extension of the temporary general license |
22:16 | <michaelficarra> | I want to thank the note takers for this meeting! |
22:16 | <apaprocki> | Are any Ecma members submitting comments? |
22:16 | <ljharb> | apaprocki: BIS? what license? |
22:17 | <michaelficarra> | the note takers provide an incredibly valuable service, and the quality has really been amazing lately |
22:17 | <apaprocki> | ljharb: https://bis.doc.gov/index.php/documents/regulations-docs/federal-register-notices/federal-register-2020/2542-85-fr-17300 |
22:18 | <apaprocki> | the 3rd text column on the 1st page |
22:19 | <Bakkot> | oh god clicking this link is going to increment a counter |
22:19 | <Bakkot> | a very small counter |
22:19 | <Bakkot> | "223 downloads" |
22:19 | <devsnek> | lol |
22:20 | <apaprocki> | you know somewhere in some damp basement are people in suits presenting pdf download statistics |
22:20 | <ljharb> | apaprocki: meaning, this is the way to submit comments to ask for more guidance? |
22:21 | <apaprocki> | it would seem they'd be open to comments requesting clarification to make the situation easier... whether or not they do it is a different story |
22:22 | <ljharb> | right |
22:23 | <ljharb> | thanks |