02:24 | <Sirisian> | Do you think anyone actually creates a "class Number {}" in their code? Would it be a breaking change for a proposal to depend on such syntax for "extending" the Number object? |
02:54 | <rkirsling> | it's a breaking change regardless of whether it breaks anybody, but I'd bet money that it does exist out there |
03:45 | <Bakkot> | yeah that's a totally reasonable thing to write |
03:45 | <Bakkot> | (maybe not totally) |
04:10 | <rkirsling> | it's definitely reasonable in a non-top scope |
04:50 | <ljharb> | Sirisian: `class extends Number` is how you extend the number object? |
04:50 | <ljharb> | Sirisian: if you mean, mutating it, it would be an absolutely horrific idea imo to provide any encouragement, let alone syntax, for mutating objects you don't own |
05:05 | <Sirisian> | ljharb, This was in the context of adding operators to a class. Was trying to think of a simple syntax that used extensions classes like in my above example. (The extensions would only work for defining operators). I guess in C++ if I remember it would be like creating a friend to a free function operator overload, but in that you need access to the class to define the friend to access private variables. |
05:10 | <ljharb> | i'm not sure what "friend" would mean in JS |
05:20 | <Sirisian> | In any case I'd need a way to refer to I guess the intrinsic object as the specification calls it. I don't think there's an elegant syntax that could be made for that. Starting to see why proposal uses the syntax it does. |
12:15 | <annevk> | String.isWellFormed(str), String.prototype.isWellFormed, or meh? |
13:21 | <bradleymeck> | likely friend in JS just means having a shared private id in scope |
13:21 | <bradleymeck> | you can do that with nested classes currently, but not across source texts |
13:54 | <littledan> | the operator overloading proposal was designed to meet multiple different integrity goals, described in the explainer. It feels like the discussion here was focusing on a subset of them. |
16:44 | <Bakkot> | annevk "well formed" in this context meaning "valid UTF-16"? |
16:47 | <annevk> | Bakkot: yeah, well-formed seems to be the term used for UTF-8 in ECMAScript |
16:48 | <annevk> | Bakkot: lone surrogate detector is also fine, I don't really care about the specifics |
16:48 | <annevk> | https://github.com/whatwg/encoding/issues/174 has context |
16:50 | <Bakkot> | seems reasonable to me; cc mathiasbynens |
17:34 | <ljharb> | sgtm too |
21:39 | <Bakkot> | anyone who has graphic design experience please weigh in on https://github.com/tc39/ecmarkup/pull/178 |
21:40 | <Bakkot> | I am not a graphic designer and do not want to try to figure out what the correct graphic design is for this |
21:40 | <Bakkot> | or like UI/UX design really, not graphic design |
21:43 | <rickbutton> | if any v8 people around: are you aware of how v8 handles stack traces for errors thrown with inlined functions in the stack? |
21:57 | <Sirisian> | Bakkot, Standard convention for an accordion independent of left/right position is points right is closed and points down is open. That said I've seen the up/down used also. If it's on the left the former convention is more clearly correct. The trick is to pick one and make it part of your identity like tabs/spaces. |
22:01 | <devsnek> | rickbutton: there is a bit of data on sharedfunctioninfo which maps inline locations to usable source positions |
22:02 | <rickbutton> | thx! ill look there devsnek |
22:02 | <devsnek> | rickbutton: actually i lied its OptimizedCompilationInfo |
22:04 | <rickbutton> | cool |
22:37 | <shu> | rickbutton: is there a specific thing you're trying to do? |
22:38 | <shu> | rickbutton: https://source.chromium.org/chromium/chromium/src/+/master:v8/src/execution/frames.cc;l=1534?q=OptimizedFrame::Summarize&ss=chromium&originalUrl=https:%2F%2Fcs.chromium.org%2F is what iterates the inlined frames |