-
Notifications
You must be signed in to change notification settings - Fork 60
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Stage 3 Checklist #336
Comments
Opened #345. 🙂 |
Opened #349. |
Any update on this? |
Hi @lin72h here are the notes and slides for R&T from the last TC39 plenary (Nov 2022). One of the current concerns is from implementers on the technical challenges of implementing and supporting R&T, and a request to explore if there are ways to reduce the implementation cost while meeting the same core goals. |
Thanks for the links. Really looking forward for R&T coming in 2023 |
May we have an update on this? Anecdote: In Rust yesterday, I replaced a mutable vector type I believe this speedup may due to the ability to do reference counting rather than copy underlying data, better handle bounds checking if bounds are static, reduce memory allocation, and cache or otherwise accelerate things like equivalence checks and hashes. Given Records and Tuples could yield big performance benefits for popular frameworks like React, Vue, Svelte, and Angular for similar reasons, do you think performance opportunities could warrant reconsideration of the cost:benefit analysis for this proposal? Seems promising and I hate to see it languish! |
Hi @bionicles. I've posted an update in #393.
I do not expect this performance gain to be applicable with JavaScript. Arrays are already pass by reference, so are not being implicitly copied and if code is currently spreading them like: |
(Nothing in JS is passed by reference; everything including objects is passed by value https://web.archive.org/web/20161005155047/http://www.jon-carlos.com/2013/is-javascript-call-by-value-or-call-by-reference/ ) |
Sure, though the value being copied is a reference. |
@rricard:mozilla.org
know on matrix if you want to be a reviewer.Action Items
JSON.parseImmutable
to a separate Stage 2 proposal: JSON.parseImmutable as a separate companion proposal #330Record.isRecord
&Tuple.isTuple
: part ofRecord.isRecord
returning true for Record Exotic Objects #333Record.isRecord
&Tuple.isTuple
shouldn't work on R&T object wrappers: part ofRecord.isRecord
returning true for Record Exotic Objects #333 & review:Record(Object(recordPrimitive))
should detect and return internal slot value #329IsConcatSpreadable
checks from Tuples, explicitely check for Arrays and Tuples: change Tuple#concat to spread on IsArrayOrTuple, not IsConcatSpreadable #328, Avoid looking up @@isConcatSpreadable for tuples. #334Record.isRecord
&Tuple.isTuple
removal: Removal ofRecord.isRecord
&Tuple.isTuple
#335Thank you all for the feedback in the previous plenary, I hope I listed all outstanding items so far. Special thanks to @ljharb & @rkirsling to have volunteered as reviewers.
The text was updated successfully, but these errors were encountered: