rexjaeschke / hello-world Goto Github PK
View Code? Open in Web Editor NEWGitHub Tutorial
GitHub Tutorial
This file identifies the known V7 features, and tracks their status. Although there were minor "dot" releases of V7, committee ECMA TC49/TG2 plans to combine all 7.x features into one V7 spec.
For the most part, the features were spec'd in version-number order. (One exception was that a feature from 7.2 was combined with two related features from 7.0 in a single PR.) Dependencies between feature specs are noted. The Effort is an attempt to show the size/complexity of the proposal, such as small, *medium", or large, allowing TG2 to pick-and-chose the ones they'll work on next.
Unlike with the V6 work, where we had separate and divergent V5 Ecma and MS specs, for V7, we started with a set of MS proposals, some of which were placeholders for which text was never provided. Where they existed, Rex took these proposals, wrote tests, looked at MS (and other) tutorial pages, and created a brach, and for most features, a corresponding (Draft) PR, with the edits he thought were needed. It is quite possible that not everything in any given MS proposal was in fact implemented in that version, and it is also possible that things implemented in a version later on were not spec'd back into the proposal.
For any given feature, Rex actually wrote his version of the final proposal, in a Word file, but using md syntax. This allowed him to order the sets of edits by clause and subclause, and to exploit Word's comment, tracked-change, color, and other features, in order to make the proposal more readable and consistant. A Table-of-Contents was also added, so the reader can see at a glance the areas of the standard impacted by the proposal. This Word document was eventually turned into the branch edits and corresponding PR. For at least some features, it likely will be useful for TG2 members to have access to these Word files, as they may be helpful in seeing the actual changes made, along with "Notes to TG2" that I made fro consideration come processing time. (These Word documents and their associated test currently reside in a DropBox folder to which Bill Wagner has access, as well as on Rex's machine.)
Version | Feature | PR | Status | Effort | Notes |
---|---|---|---|---|---|
7.0 | binary integer literals | 45 | Open | Small | The following features were combined: binary integer literals, embedded digit separators in numeric literals, leading digit separators in bin/hex integer literals. |
7.0 | embedded digit separators in numeric literals | 45 | Open | Small | The following features were combined: binary integer literals, embedded digit separators in numeric literals, leading digit separators in bin/hex integer literals. |
7.0 | out variables |
44 | Open | Medium | The following features were combined: out variables, Discards, use expression variables in more locations |
7.0 | Discards | 44 | Open | Medium | The following features were combined: out variables, Discards, use expression variables in more locations |
7.0 | Tuples | 63 but needs some work | Open | Large | The following features were combined: Tuples, Inferred tuple element names, test == and != with tuple types. |
7.0 | Pattern Matching | 61 | Open | Large | The following features were combined: Pattern Matching, Pattern matching on generic type parameters, use expression variables in more locations. |
7.0 | ref locals and returns |
213 | Open | Combination #4 | |
7.0 | Local Functions | 104 | Open | Small | |
7.0 | More expression-bodied members | 69 | Open | Small | |
7.0 | throw Expressions |
65 but needs some work | Open | ||
7.0 | Generalized async return types |
In progress | Open | ||
7.1 | async Main method |
70 | Open | ||
7.1 | default literal expressions |
236 | Open | ||
7.1 | Inferred tuple element names - see MS Proposal | 63 but needs some work | Open | Large | The following features were combined: Tuples, Inferred tuple element names, test == and != with tuple types. |
7.1 | Pattern matching on generic type parameters | 61 | Open | Large | The following features were combined: Pattern Matching, Pattern matching on generic type parameters, use expression variables in more locations. |
7.2 | leading digit separators in bin/hex integer literals | 45 | Open | Small | The following features were combined: binary integer literals, embedded digit separators in numeric literals, leading digit separators in bin/hex integer literals. |
7.2 | Non-trailing named arguments | 216 | Open | ||
7.2 | private protected access modifier |
215 | Open | ||
7.2 | Conditional ref expressions |
213 | Open | Combination #4 | |
7.2 | in parameter modifier |
219 | Open | Combination #5 | |
7.2 | ref with this in extension methods |
219 | Open | Combination #5 | |
7.2 | readonly and ref structs |
In progress | Open | ||
7.3 | indexing movable fixed buffer without pinning | 239 | Open | ||
7.3 | reassign ref local variables |
213 | Open | Combination #4 | |
7.3 | use initializers on stackalloc arrays |
238 | Open | ||
7.3 | Support for Pattern-Based fixed Statements |
240 | Open | ||
7.3 | use additional generic constraints | 244 | Open | ||
7.3 | test == and != with tuple types |
63 but needs some work | Open | Large | The following features were combined: Tuples, Inferred tuple element names, test == and != with tuple types. |
7.3 | use expression variables in more locations | 44, 61 | Open | Medium | The following features were combined: out variables, Discards, use expression variables in more locations. Large |
7.3 | attach attributes to the backing field of auto-implemented properties | 262 | Open | ||
7.3 | overload resolution now has fewer ambiguous cases | 263 | Open |
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.