00:49 | <pokute> | Hmm. I though about it a bit and making a transformer for decorated hoisted functions sounds a bit tricky. The transformer might need to put all the decorating code inside a hoisted function for it to work the same, and then might have to capture arguments and this for use in the decorated function body. |
03:00 | <devsnek> | my suggestion is to turn @foo function bar() {} into var bar = foo(function bar() {}, { kind: 'function', name: 'bar' }); |
03:00 | <devsnek> | annex b.3.3 aside |
09:45 | <nicolo-ribaudo> | Many spec algorithms seem to call a Completion(...) abstract operation (for example in https://tc39.es/ecma262/#sec-iteratorclose), but I cannot find where it is defined. Is it a type cast to convert a record into a completion record? |
10:03 | <nicolo-ribaudo> | Many spec algorithms seem to call a Completion AO to the Completion record definition rather than to the AO definition |
16:32 | <Michael Ficarra> | nicolo-ribaudo: linking should be fixed in this PR: https://github.com/tc39/ecma262/pull/2547/files#diff-181371b08d71216599b0acccbaabd03c306da6de142ea6275c2135810999805aR832 |
17:33 | <annevk> | ooh, that sounds like a great PR |
17:38 | <Michael Ficarra> | annevk: unfortunately it's a TON of work, so it'll be at least another few weeks before it's done |
17:49 | <annevk> | I can only imagine |
17:49 | <annevk> | Might have some downstream implications too, but hopefully not too many |
17:52 | <bakkot> | probably a lot of stray ! s in HTML to remove, mainly |
17:53 | <bakkot> | specifically, I think other specs don't tend to make use of the implicitness of completion records much (or at all?), so the relevant change is just that algorithms which were guaranteed to succeed no longer return completion records and hence no longer need to be unwrapped with ! |
18:08 | <annevk> | bakkot: we do create a Completion record somewhere |
18:08 | <annevk> | Removing ! sounds amazing, has caused quite a bit of confusion over the years |
18:09 | <annevk> | Feels like every couple months there's someone asking why it's negating something |
18:12 | <bakkot> | there will still be some ! s, for operations which normally can throw but which don't in this particular instance |
18:12 | <bakkot> | but I think a majority of them will be removed |
18:14 | <annevk> | I see, we do have some of those as well |