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(...) 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?
Oh it's defined at https://tc39.es/ecma262/#sec-implicit-completion-values - It looks like there is an auto-linking issue that links usages of the 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