proposal-record-tuple
ECMAScript proposal for the Record and Tuple value types. | Stage 2: it will change! (by tc39)
proposals
Tracking ECMAScript Proposals (by tc39)
Our great sponsors
proposal-record-tuple | proposals | |
---|---|---|
73 | 54 | |
2,423 | 17,789 | |
0.9% | 0.7% | |
2.7 | 8.2 | |
4 months ago | 6 days ago | |
HTML | ||
- | - |
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
proposal-record-tuple
Posts with mentions or reviews of proposal-record-tuple.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2024-02-19.
-
Union, intersection, difference, and more are coming to JavaScript Sets
relevant issue, which is at the crux of this problem: https://github.com/tc39/proposal-record-tuple/issues/387
-
The Everything NPM Package
There are still so many basic things that aren't in the JS stdlib, though. A good example is Map - if you need to use a tuple of two values as a key, you're SOL because there's no way to customize key comparisons. Hopefully we'll get https://tc39.es/proposal-record-tuple/ eventually, but meanwhile languages ranging from C++ to Java to Python have had some sensible way to do this for over 20 years now.
-
Deep Cloning Objects in JavaScript, the Modern Way
If you’re reaching for structuredClone, what you really want is native immutable Record and Tuple syntax, and the companion “deep path properties” syntax which allows for efficient and ergonomic immutable updates:
-
Cool language features that Rust is missing?
It will be called "record" in JavaScript which will swing the popularity back the other way I guess (currently a language proposal)
-
Why doesn't TypeScript properly type Object.keys?
I suspect considering the strong desire to maintain consistency with JavaScript, we will eventually see something that when the Record proposal passes through tc39
-
ES2023 features list!
I hope the Record and Tuple proposal makes it through
-
ES2023 introduces new array copying methods to JavaScript
I mean, I'd love some real immutable/persistent data structures in JS by default, or even some Immer-like syntax sugar. Something like the record/tuple proposal would be awesome.
-
What's new in ECMAScript 2023
This will become very useful once Records and Tuples are a thing, because it allows you to store object references in a record/tuple (which by definition can only contain primitives).
-
[AskJS] Is JavaScript missing some built-in methods?
Record and tuple is at stage 2
-
The huge potential of Kotlin/Wasm
Also, js has an ongoing immutable value data types proposal.
proposals
Posts with mentions or reviews of proposals.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2024-04-17.
-
Time, Space and Complexity
The proposal of "syntactic tail calls" to provide an explicit syntax for tail calls, co-championed by committee members from Mozilla (responsible for SpiderMonkey, the engine of Firefox) and Microsoft, was a response to these concerns. However, this proposal is now listed among the TC39's inactive proposals, possibly due to diminished interest, which may stem from the infrequent use of tail recursive functions in JavaScript.
-
At Least Skim The Manual
Then there are proposals for new features. Some proposals move through quickly, though some of these will never make it into the spec. They can be available months or years in advance through Babel plugins and other tools. Be aware that these allow you to write code that may never become valid JavaScript, but they can be useful for simplicity and readability, so long as you understand the requirements.
-
Embracing Modern JavaScript Features in ES13 ES2022
TC39 Proposals
-
Best way to re-learn JavaScript as a former senior level js dev?
As for what’s new, well here https://github.com/tc39/proposals/blob/main/finished-proposals.md you can research anything from that list that doesn’t look familiar to you.
-
Javascript doubt
The latest version of the ECMAScript standard is referred to as ES2022. However, there are almost always something new cooking, which you can use (ESNext) if yo have a javascript engine that implements it, or if you use a polyfill which implements some particular feature for earlier javascript engines.
-
New video! 2022 in Programming Languages
Here's the full tab list: - https://tjpalmer.github.io/languish/ - https://blog.python.org/2022/10/python-3110-is-now-available.html - https://devblogs.microsoft.com/python/python-311-faster-cpython-team/ - https://github.com/tc39/proposals/blob/main/finished-proposals.md - https://devblogs.microsoft.com/typescript/ten-years-of-typescript/ - https://devblogs.microsoft.com/typescript/announcing-typescript-4-6/#cfa-destructured-discriminated-unions - https://devblogs.microsoft.com/typescript/announcing-typescript-4-9/#the-satisfies-operator - https://devblogs.microsoft.com/typescript/announcing-typescript-4-7/#go-to-source-definition - https://devblogs.microsoft.com/typescript/announcing-typescript-4-8/#build-watch-incremental-improvements - https://openjdk.org/projects/jdk/18/ - https://openjdk.org/projects/jdk/19/ - https://blog.jetbrains.com/clion/2022/07/july-2022-iso-cpp/ - https://en.wikipedia.org/wiki/C%2B%2B23 - https://en.cppreference.com/w/cpp/23 - https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2128r6.pdf - https://devblogs.microsoft.com/dotnet/announcing-dotnet-7/ - https://devblogs.microsoft.com/dotnet/welcome-to-csharp-11/ - https://devblogs.microsoft.com/dotnet/announcing-fsharp-7/ - https://learn.microsoft.com/en-us/dotnet/core/deploying/native-aot/ - https://go.dev/blog/go1.19 - https://go.dev/blog/go1.18 - https://thephd.dev/c23-is-coming-here-is-what-is-on-the-menu - https://thephd.dev/c23-is-coming-here-is-what-is-on-the-menu#n3017---embed - https://thephd.dev/c23-is-coming-here-is-what-is-on-the-menu#n3006--n3007---type-inference-for-object-definitions - https://www.php.net/archive/2022.php#2022-12-08-1 - https://wiki.php.net/rfc/dnf_types - https://blog.rust-lang.org/ - https://blog.rust-lang.org/2022/01/13/Rust-1.58.0.html#captured-identifiers-in-format-strings - https://blog.rust-lang.org/2022/02/24/Rust-1.59.0.html#inline-assembly - https://blog.rust-lang.org/2022/05/19/Rust-1.61.0.html#more-capabilities-for-const-fn - https://blog.rust-lang.org/2022/08/11/Rust-1.63.0.html#scoped-threads - https://blog.rust-lang.org/2022/11/03/Rust-1.65.0.html#generic-associated-types-gats - https://blog.jetbrains.com/kotlin/2022/06/kotlin-1-7-0-released/ - https://stat.ethz.ch/pipermail/r-announce/2022/000683.html - https://dart.dev/guides/whats-new - https://medium.com/dartlang/dart-2-18-f4b3101f146c - https://medium.com/dartlang/the-road-to-dart-3-afdd580fbefa - https://www.swift.org/blog/swift-5.6-released/ - https://www.swift.org/blog/swift-5.7-released/ - https://www.swift.org/blog/swift-language-updates-from-wwdc22/ - https://www.ruby-lang.org/en/news/2022/12/25/ruby-3-2-0-released/ - https://www.lua.org/news.html - https://www.scala-lang.org/blog/2022/09/05/scala-3.2.0-released.html - https://tjpalmer.github.io/languish/#y=mean&weights=issues%3D1%26pulls%3D0%26stars%3D1%26soQuestions%3D1&names=solidity%2Chaskell%2Cjulia%2Celixir%2Cclojure%2Cperl%2Cgroovy%2Cocaml%2Cgdscript%2Ccmake%2Cnix%2Cvisual+basic+.net - https://blog.soliditylang.org/ - https://downloads.haskell.org/~ghc/9.4.1/docs/users_guide/9.4.1-notes.html - https://julialang.org/blog/2022/08/julia-1.8-highlights/ - https://discourse.julialang.org/t/julia-v1-9-0-beta2-is-fast/92290 - https://elixir-lang.org/blog/2022/09/01/elixir-v1-14-0-released/ - https://elixir-lang.org/blog/2022/10/05/my-future-with-elixir-set-theoretic-types/ - https://clojure.org/news/2022/03/22/clojure-1-11-0 - https://godotengine.org/en/news/default/1 - https://ocaml.org/news/ocaml-5.0 - https://tjpalmer.github.io/languish/#y=mean&weights=issues%3D1%26pulls%3D0%26stars%3D1%26soQuestions%3D1&names=gdscript%2Czig%2Cpascal%2Cfortran%2Cnim%2Cf%23%2Ccommon+lisp%2Cwebassembly%2Ccrystal%2Ccython%2Cvala%2Cerlang%2Chaxe%2Cv%2Cd - https://ziglang.org/download/0.10.0/release-notes.html - https://ziglang.org/news/goodbye-cpp/ - https://nim-lang.org/blog.html - https://nim-lang.org/blog/2022/12/21/version-20-rc.html - https://www.erlang.org/news/157 - https://github.com/WebAssembly/proposals/commits/main - https://github.com/crystal-lang/crystal/releases - https://dlang.org/changelog/2.099.0.html - https://dlang.org/changelog/2.100.0.html - https://dlang.org/changelog/2.101.0.html - https://github.com/odin-lang/Odin/releases - https://gleam.run/news/ - https://gleam.run/news/gleam-v0.22-released/ - https://gleam.run/news/gleam-v0.24-released/ - https://github.com/idris-lang/Idris2/blob/102d7ebc18a9e881021ed4b05186cccda5274cbe/CHANGELOG.md - https://github.com/diku-dk/futhark/blob/master/CHANGELOG.md#02111 - https://grain-lang.org/blog/2022/06/06/new-release-grain-v0.5-durum/ - https://rescript-lang.org/blog/release-10-0-0 - https://www.roc-lang.org/ - https://simon.peytonjones.org/assets/pdfs/haskell-exchange-22.pdf - https://vale.dev/ - https://www.val-lang.dev/
- Is TypeScript actually worth It?
-
Unveiling Breakthroughs Found In The State Of JS 2022 Survey
[2] tc39 on Github. ECMAScript Finished Proposals.
-
Is this a javascript thing or a typescript thing?
Check out the proposals page for info on what (may be) coming to JS: https://github.com/tc39/proposals
- Rust-RFC vs PEP vs tc39 Proposal
What are some alternatives?
When comparing proposal-record-tuple and proposals you can also consider the following projects:
zod - TypeScript-first schema validation with static type inference
ts-morph - TypeScript Compiler API wrapper for static analysis and programmatic code changes.
Immer - Create the next immutable state by mutating the current one
tokens
typescript-eslint - :sparkles: Monorepo for all the tooling which enables ESLint to support TypeScript
lwc - ⚡️ LWC - A Blazing Fast, Enterprise-Grade Web Components Foundation
typescript-is
RxPY - ReactiveX for Python
TypeScript - TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
proposal-weakrefs - WeakRefs
ts-node - TypeScript execution and REPL for node.js
proposal-decorators - Decorators for ES6 classes
proposal-record-tuple vs zod
proposals vs ts-morph
proposal-record-tuple vs Immer
proposals vs tokens
proposal-record-tuple vs typescript-eslint
proposals vs lwc
proposal-record-tuple vs typescript-is
proposals vs RxPY
proposal-record-tuple vs TypeScript
proposals vs proposal-weakrefs
proposal-record-tuple vs ts-node
proposals vs proposal-decorators