| | | | | | | | | | | | | | | | | | | | | . | | | | | | | | | | | | This column will reference the actual spec documents, either speclets that are work in progress or spec parts authored by the Editors. | Bright green=essential, light green=useful, white=neutral, red=undesirable, ?=don't understand what feature this is or the polarity of what yes/no would mean | | | | | | | | . | Type system (separate sections below for structural and nominal types) | | | | | | | | | | | | | | | | | | | | . | Type definitions (type x = ) | 1 | 1 | 0 | 0 | 0 | 1 | 0 | | proposals:type_definitions, #247, #39 | | | | | | | | | | | . | Parameterized type definitions (type x.<T> =) | 1 | 0 | 0 | 0 | 0 | 0 | 0 | | ? | | | | Iterators | | | | | | | . | Subtyping, type compatibility | 1 | 0 | 0 | 0 | 0 | 1 | 0 | | AS3, #328, #122, #127, #262, Note! more here (Cormac's work, sundry discussion pages in the wiki) | | | | | | | | ? (unclear on what this implies) | | | . | DontDelete is not the same as fixture | 1 | 0 | 0 | 0 | 0 | 1 | 0 | | #233 | | | | | | ? | ? | ? (don't understand implications of this) | | | . | Type annotations on variables, parameters, and in function return types | 1 | 0 | 0 | 0 | 0 | 1 | 0 | | AS3, #71 | | | | | | | | | | | . | Type annotations on destructuring patterns | 1 | 0 | 0 | 0 | 0 | 0 | 0 | | ? | | | | | | | | | | | . | Type annotations on object and array literals | 1 | 0 | 0 | 0 | 0 | 1 | 0 | | ?, #126 | #370 (new on March 7) proposes semantics for nominal types too | | | | | | | | | | . | "is" operator | 1 | 1 | 0 | 0 | 0 | 1 | 0 | | proposals:is_as_to, #309, #103, #73 | | | | | | | | | | | . | "cast" operator | 0 | 0 | 0 | 0 | 0 | 1 | 0 | | proposals:is_as_to, #309, #103 | | | | | | rename it to "as"? | | | | | . | "type" operator | 1 | 0 | 0 | 0 | 0 | 0 | 0 | | proposals:syntax_for_type_expressions, #309, #103 | | | | | | | | | | | . | "wrap" type operator | 0 | 0 | 0 | 0 | 0 | 0 | 0 | | ?, #309, #103, #73 | | | | wrap meta-programming is outside the language (maybe in module system, if there is one) | | Revised 3/28 | | | | | . | "like" type operator | 0 | 0 | 0 | 0 | 0 | 0 | 0 | | #258, #309, #103, #73, #244 | Revised 3/28: Now a predicate and function parameter/result syntactic sugar | | | | | Revised 3/28 | | | | | . | Nullability annotations in type expressions | 1 | 0 | 0 | 0 | 0 | 0 | 0 | | proposals:nullability, #229 | | | | | | | | | | | . | Type conversion between primitive types | 1 | 1 | 0 | 0 | 0 | 1 | 0 | | ES3, proposals:numbers, #246, #345, #346, #113, #38 | No user-defined conversions | | | | | | | | | | . | Wrapping of primitive types | 0 | 0 | 0 | 0 | 0 | 1 | 0 | | ES3, #281 | | | |
| | turn off? | | | | | . | Inferred function types | 1 | 0 | 0 | 0 | 0 | 0 | 0 | | #48 | | | | | | | | | | | . | Reflected type objects implement type meta-object interfaces | 0 | 0 | 0 | 0 | 0 | 1 | 0 | | proposals:meta_objects, #208, #232, #199 | | | | | | | | | | | . | Structural types | | | | | | | | | | | | | | | | | | | |
|
| | | | | | | | | | | | | | | | | | | | | . | Record types | 1 | 1 | 0 | 0 | 0 | 0 | 0 | | proposals:structural_types_and_typing_of_initializers, #219 | | | | | | | | | | | . | Array types | 1 | 1 | 0 | 0 | 0 | 1 | 0 | | proposals:structural_types_and_typing_of_initializers, #249, #120, #66 | | [...T] | | | | Revised 3/28 | | | | | . | Tuple types | 1 | 1 | 0 | 0 | 0 | 0 | 0 | | proposals:structural_types_and_typing_of_initializers, #249, #120, #66 | | eg, [T] or [T,U,V] | | | | Revised 3/28 | | | | | . | Function type | 1 | 0 | 0 | 0 | 0 | 1 | 0 | | proposals:structural_types_and_typing_of_initializers, #153 | | | | | | | | | | | . | Union type | 1 | 0 | 0 | 0 | 0 | 0 | 0 | | proposals:switch_class, #218, #308, #300 | | | | | | | | | | | . | "*" ("Any") type | 1 | 1 | 0 | 0 | 0 | 0 | 0 | | AS3 | | | | | | | | | | | . | "undefined" type | 1 | 0 | 0 | 0 | 0 | 1 | 0 | | proposals:syntax_for_type_expressions | | | | | | | | | | | . | "null" type | 1 | 0 | 0 | 0 | 0 | 1 | 0 | | proposals:syntax_for_type_expressions | | | | | | | | | | | . | Nominal types | | | | | | | | | | | | | | | | | | | | . | Classes | 1 | 1 | 0 | 0 | 0 | 1 | 0 | | AS3, #166, #208, #247, #289, #6, #88, #139 | | | | | | | | | | | . | Interfaces | 1 | 1 | 0 | 0 | 0 | 1 | 0 | | AS3, #210, #335, #207 | | | | | | if meets DOM use case | | | | | . | Inheritance | 1 | 1 | 0 | 0 | 0 | 1 | 0 | | AS3 | | | | | | | | | | | . | Non-nullable classes | 1 | 0 | 0 | 0 | 0 | 1 | 0 | | proposals:nullability | | | | | | | | | | | . | Settings | 1 | 1 | 0 | 0 | 0 | 1 | 0 | | proposals:nullability | | | | | | | | | | | . | super() call in settings | 1 | 0 | 0 | 0 | 0 | 1 | 0 | | ? | | | | | | | | | | | . | Parameterized classes | 1 | 0 | 0 | 0 | 0 | 0 | 0 | | ? | | | | | | | | | | | . | Parameterized interfaces | 1 | 0 | 0 | 0 | 0 | 0 | 0 | | proposals:type_parameters | | | | | | | | | | | . | dynamic class Foo | 1 | 0 | 0 | 0 | 0 | 1 | 0 | | AS3 | | | | | | | | | | | . | final class Foo | 1 | 1 | 0 | 0 | 0 | 1 | 0 | | AS3 | | | | | | | | | | | . | <namespace> class Foo | 1 | 1 | 0 | 0 | 0 | 1 | 0 | | AS3 | | | | | | | | not sure what this syntax means) | | |
|
| | | | | | | | | | | | | | | | | | | | | . | parameterized class C.<T> has statics per instantiation not once for all C.<T> | 1 | 0 | 0 | 0 | 0 | 1 | 0 | | Language overview | | | | | | | | (no given our vote on parameterized types in general, though if they exist this makes sense) | | | . | prototype method | 1 | 0 | 0 | 0 | 0 | 0 | 0 | | proposals:builtin_classes, #75 | | | | | | | | | | | . | get/set method | 1 | 1 | 0 | 0 | 0 | 1 | 0 | | AS3 | | | | | | | | | | | . | static method | 1 | 0 | 0 | 0 | 0 | 1 | 0 | | AS3, #74 | | | | | | | | | | | . | Method overriding | 1 | 0 | 0 | 0 | 0 | 1 | 0 | | #9 | | | | | | | | | | | . | meta::get / meta::set method | 0 | 0 | 0 | 0 | 0 | 0 | 0 | | #214 | | | | | | | | | | | . | meta::has method | 0 | 0 | 0 | 0 | 0 | 0 | 0 | | #214 | | | | | | | | | | | . | meta::delete method | 0 | 0 | 0 | 0 | 0 | 0 | 0 | | #214, #157 | | | | | | | | | | | . | meta::invoke method | 0 | 0 | 0 | 0 | 0 | 0 | 0 | | #214, #173 | | | | | | | | | | | . | static property | 1 | 1 | 0 | 0 | 0 | 1 | 0 | | AS3 | | | | | | | | | | | . | Structure | | | | | | | | | | | | | | | | | | | | . | Namespaces (namespace foo = ...) | 1 | 1 | 0 | 0 | 0 | 1 | 0 | | AS3, #289 | | | | | | | | | | | . | Predefined namespaces (__ES4__, intrinsic, iterator, meta, reflect) | 1 | 0 | 0 | 0 | 0 | 1 | 0 | | proposals:intrinsic_namespace, #149, #248, #91, #62, #67 | | | | | | | | (only the ones it makes sense to have in light of other votes) | | | . | Name lookup algorithm | 0 | 0 | 0 | 0 | 0 | 1 | 0 | | #233, #141, #33, #142 | | | | | | | | ? (do not understand this but if it slows down untyped code then no) | | | . | use namespace foo | 1 | 1 | 0 | 0 | 0 | 1 | 0 | | AS3, proposals:namespace_shadowing | | | | | | | | | | | . | use default namespace foo | 1 | 0 | 0 | 0 | 0 | 1 | 0 | | ?, #242 | | | | | | | | | | | . | pragma syntax and restrictions on same | 0 | 0 | 0 | 0 | 0 | 1 | 0 | | proposals:syntax_for_pragmas, #282 | | | | | | | | | | | . | Blocks {...} | 1 | 1 | 1 | 1 | 1 | 1 | 0 | | AS3 | This item refers to the ability to have top-level blocks that boil away during parsing, they are useful in expressing eg program units | | | | | | | ? (unclear on how/whether this differs from ES3) | | | . | packages, import | 1 | 1 | 0 | 0 | 0 | 0 | 0 | | AS3, #283, #335, #116 | | | | out of time, needs too much work | | Need to solve isolation / inadvertent name capture problems among packages | | No on current design but purely URI-based statically detectable import is essential | | | . | private package | 0 | 0 | 0 | 0 | 0 | 0 | 0 | | proposals:local_packages | | | | | | | | | | |
|
| | | | | | | | | | | | | | | | | | | | | . | internal / public variables | 1 | 1 | 0 | 0 | 0 | 1 | 0 | | AS3, #33, #81 | | | | | | | | | | | . | private, protected, public: how they can be used | 0 | 0 | 0 | 0 | 0 | 1 | 0 | | #90, #33, #81 | | | | | | ? | | | | | . | Program units | 0 | 0 | 0 | 0 | 0 | 1 | 0 | | proposals:program_units, #271, #333, #272, #273 | | | | next time | | Probably better done in HTML. Also need to solve asynchronous loading problem. | | No on current design but purely URI-based statically detectable import is essential | | | . | Declarations | | | | | | | | | | | | | | | | | | | | . | const | 1 | 1 | 1 | 1 | 1 | 1 | 0 | | JS1.5, AS3, #112 | | | | | | | | | | | . | let | 1 | 0 | 1 | 1 | 0 | 1 | 0 | | proposals:block_expressions, #280, #253, #347 | | | | | | Revised 3/27 | | | | | . | let const | 1 | 0 | 0 | 0 | 0 | 1 | 0 | | proposals:block_expressions, #253 | | | | | | | | | | | . | let function | 0 | 0 | 0 | 0 | 0 | 0 | 0 | | proposals:block_expressions, #253 | | | | | | | | | | | . | let expressions | 1 | 0 | 0 | 0 | 0 | 0 | 0 | | proposals:block_expressions | | | | | | Revised 3/28 | | | | | . | Destructuring Assignment | 1 | 0 | 1 | 1 | 1 | 0 | 0 | | proposals:destructuring_assignment | | | | | | | | | | | . | Statements | | | | | | | | | | | | | | | | | | | | . | let statements | 1 | 0 | 1 | 1 | 0 | 1 | 0 | | proposals:block_expressions, #240, #85 | | | | | | | | | | | . | "for each" statement | 0 | 1 | 0 | 0 | 0 | 1 | 0 | | E4X; AS3 | | | | | | | | | | | . | for .. in order | 0 | 1 | 1 | 1 | 0 | 1 | 0 | | proposals:bug_fixes [FOR.IN.LOOP.CREATION.ORDER] | | | | | | | | | | | . | for .. in loops on null, undefined | 0 | 1 | 1 | 1 | 0 | 1 | 0 | | proposals:bug_fixes | | | | | | | | | | | . | hide fixtures and namespaced properties in for .. in operations | 1 | 0 | 0 | 0 | 0 | 1 | 0 | | #55 | | | | hide | | | | | | | . | "switch type" statement | 0 | 0 | 0 | 0 | 0 | 1 | 0 | | proposals:switch_class, #163, #41, #252 | | | | | | | | | | | . | Typed "try-catch" statement | 0 | 1 | 0 | 0 | 0 | 1 | 0 | | AS3 | | | | | | | | | | | . | reformed with statement | 0 | 0 | 0 | 0 | 0 | 0 | 0 | | proposals:reformed_with, #252 | | | | | | | | | | | . | Operators | | | | | | | | | | | | | | | | | | | |
|
| | | | | | | | | | | | | | | | | | | | | . | Comparison Order | 1 | 1 | 1 | 1 | 0 | 1 | 0 | | proposals:bug_fixes | | | | | | | | | | | . | "eval" | 0 | 0 | 0 | 0 | 0 | 0 | 0 | | ES3, proposals:resurrected_eval, #226, #235, #297 | | | | intention is good, not done yet | | ? | | yes to eval operator / function distinction, no to strict mode weirdness or other changes | | | . | &&= | 0 | 0 | 0 | 0 | 0 | 1 | 0 | | AS3 | | | | | | | | | | | . | ||= | 0 | 0 | 0 | 0 | 0 | 1 | 0 | | AS3 | | | | | | | | | | | . | "in" | 0 | 0 | 0 | 0 | 0 | 0 | 0 | | #241 | | | | | | | | | | | . | typeof | 0 | 0 | 0 | 0 | 0 | 1 | 0 | | #251, #250 | Leaves typeof alone | | | | | | | | | | . | Operator Overloading | 0 | 0 | 0 | 0 | 0 | 1 | 0 | | proposals:generic_functions; proposals:operators, #140 | No accepted proposals | | | Next time | | | | | | | . | Iteration | | | | | | | | | | | | | | | | | | | | . | interator namespace | 1 | 0 | 0 | 0 | 0 | 1 | 0 | | proposals:iterators_and_generators | | | | | | | | | | | . | InterableType | 0 | 0 | 0 | 0 | 0 | 1 | 0 | | proposals:iterators_and_generators | | | | | | | | | | | . | iterator::get | 1 | 0 | 0 | 0 | 0 | 1 | 0 | | proposals:iterators_and_generators | | | | | | | | | | | . | iterator::next | 1 | 0 | 0 | 0 | 0 | 1 | 0 | | proposals:iterators_and_generators | | | | | | | | | | | . | iterator::close | 0 | 0 | 0 | 0 | 0 | 0 | 0 | | proposals:iterators_and_generators | | | | | | | | | | | . | iterator::StopIteration | 1 | 0 | 0 | 0 | 0 | 1 | 0 | | proposals:iterators_and_generators | | | | | | | | | | | . | ItemizableType | 0 | 0 | 0 | 0 | 0 | 0 | 0 | | proposals:iterators_and_generators | | | | | | | | | | | . | iterator::getKeys | 0 | 0 | 0 | 0 | 0 | 1 | 0 | | proposals:iterators_and_generators | | | | | | | | | | | . | iterator::getValues | 0 | 0 | 0 | 0 | 0 | 1 | 0 | | proposals:iterators_and_generators | | | | | | | | | | | . | iterator::getItems | 0 | 0 | 0 | 0 | 0 | 1 | 0 | | proposals:iterators_and_generators | | | | | | | | | | | . | Tail calls | 1 | 0 | 0 | 0 | 0 | 0 | 0 | | proposals:proper_tail_calls, #215, #323 | | | defer | defer | | | | | | | . | Generators | 1 | 0 | 1 | 0 | 0 | 0 | 0 | | proposals:iterators_and_generators | | | | | | needs syntactic work | | | | |
|
| | | | | | | | | | | | | | | | | | | | | . | Array Comprehensions | 1 | 0 | 1 | 0 | 0 | 0 | 0 | | proposals:iterators_and_generators | | | | | | | | | | | . | "this generator" | 0 | 0 | 0 | 0 | 0 | 0 | 0 | | proposals:remove_the_arguments_object | | | | | | | | | | | . | Function | | | | | | | | | | | | | | | | | | | | . | Nullability | 0 | 0 | 0 | 0 | 0 | 0 | 0 | | proposals:nullability, #73, #71, #1 | | | | | | | | | | | . | Function.bind | 1 | 0 | 0 | 0 | 0 | 0 | 0 | | proposals:static_generics | | | | | | | | | | | . | Function.call | 1 | 0 | 0 | 0 | 0 | 0 | 0 | | proposals:static_generics | | | | | | | | | | | . | Function.apply | 1 | 0 | 0 | 0 | 0 | 0 | 0 | | proposals:static_generics | | | | | | resolve this vs. splat | | | | | . | Rest arguments | 1 | 1 | 0 | 0 | 0 | 1 | 0 | | AS3, #96 | | | | | | | | | | | . | Generic Functions | 0 | 0 | 0 | 0 | 0 | 0 | 0 | | proposals:generic_functions, #245 | | | | Next time | | | | | | | . | Default argument values | 1 | 1 | 0 | 0 | 0 | 1 | 0 | | AS3, #2 | | | | | | | | | | | . | "let function" | 0 | 0 | 0 | 0 | 0 | 0 | 0 | | proposals:block_expressions | | | | | | | | | | | . | "this function" | 0 | 0 | 0 | 0 | 0 | 0 | 0 | | proposals:remove_the_arguments_object | | | | | | | | | | | . | arguments object | 1 | 0 | 0 | 0 | 0 | 0 | 0 | | proposals:bug_fixes, #27, #26 | | | | | | | | | | | . | avoid propagating the global object as 'this' when functions are not invoked as method | 1 | 0 | 0 | 0 | 0 | 1 | 0 | | proposals:bug_fixes, #348, #276 | | | | strict mode only | | | | does not seem safe for compat | | | . | type annotations on this | 1 | 0 | 0 | 0 | 0 | 0 | 0 | | proposals:builtin_classes | Essential for modeling prototype properties in the language | | | | | | | | | | . | Splat operator | 1 | 0 | 0 | 0 | 0 | 1 | 0 | | #357 | | | | | | | | | | | . | Function constructor | 1 | 0 | 0 | 0 | 0 | 0 | 0 | | ES3, #172 | | | | | | minor syntax issues | | ? | | | . | toString fixes | 1 | 0 | 0 | 0 | 0 | 0 | 0 | | #174 | | | | | | | | | | | . | Expression closures | 1 | 0 | 1 | 0 | 0 | 0 | 0 | | proposals:expression_closures | | | | | | | | | | | . | Object literals | | | | | | | | | | | | | | | | | | | |
|
| | | | | | | | | | | | | | | | | | | | | . | Object literal syntax | 1 | 0 | 0 | 0 | 0 | 1 | 0 | | ES3, proposals:bug_fixes, #164, #165, #219, #319 | | | | | | | | | | | . | Trailing commas | 1 | 1 | 1 | 1 | 1 | 1 | 0 | | proposals:bug_fixes | | | | | | | | | | | . | const before id | 0 | 0 | 0 | 0 | 0 | 0 | 0 | | ? | | Draft circulated on es4-discuss on 20 March, "Object initializers" | | | | | | | | | . | var before id | 0 | 0 | 0 | 0 | 0 | 0 | 0 | | (Email discussion, analogous with const annotations but just DontDelete, not ReadOnly) | | Same as for const | | | | | | ? | | | . | get and set special forms | 0 | 0 | 0 | 0 | 0 | 0 | 0 | | JS1.5, #12, #13 | | | | | | | | | | | . | namespace qualification | 0 | 0 | 0 | 0 | 0 | 1 | 0 | | #30 | | | | Iterators, catchalls | | | | | | | . | Object | | | | | | | | | | | | | | | | | | | | . | Destructuring | 1 | 0 | 1 | 1 | 1 | 0 | 0 | | proposals:destructuring_assignment, #111 | | | | | | | | | | | . | field names | 0 | 0 | 0 | 0 | 0 | 0 | 0 | | #29, #313 | | | | | | namespaces only | | | | | . | Global object | | | | | | | | | | | | | | | | | | | | . | Constant bound types | 1 | 0 | 0 | 0 | 0 | 0 | 0 | | #123 (Note, versioning implications need to be recorded here) | | | | | | | | | | | . | undefined, NaN, Infinity are constant | 1 | 0 | 1 | 1 | 0 | 1 | 0 | | proposals:bug_fixes | | | | | | | | | | | . | Math object | 0 | 0 | 0 | 0 | 0 | 0 | 0 | | #220, #171, #8, #83 | | | | | | | | | | | . | encodeURI/decodeURI fixes | 0 | 0 | 0 | 0 | 0 | 0 | 0 | | #148 | | | | | | | | | | | . | hashcode | 0 | 0 | 0 | 0 | 0 | 1 | 0 | | proposals:hashcodes, #152, #52 | | | | | | | | | | | . | global (Global object) | 0 | 0 | 0 | 0 | 0 | 1 | 0 | | proposals:globals, #152, #230 | | | | | | | | | | | . | parseInt | 0 | 0 | 0 | 0 | 0 | 0 | 0 | | ES3, #274 | | | | | | | | | | | . | parseFloat | 0 | 0 | 0 | 0 | 0 | 0 | 0 | | ES3, #274 | | | | | | | | | | | . | isIntegral | 0 | 0 | 0 | 0 | 0 | 0 | 0 | | #161 | | | | follows isFinite precedent | | | | | | | . | copysign | 0 | 0 | 0 | 0 | 0 | 0 | 0 | | #161 | | | in double and decimal | put in double class | Put it into double class | Put it into double class | | | | |
|
| | | | | | | | | | | | | | | | | | | | | . | sign | 0 | 0 | 0 | 0 | 0 | 0 | 0 | | #161 | | | in double and decimal | put in double class | Put it into double class | Put it into double class | | | | | . | __MAX_ECMASCRIPT_VERSION__ | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | proposals:versioning | | | | | | Problem needs to get solved somehow | | | | | . | RegExp | | | | | | | | | | | | | | | | | | | | . | RegExp Reconstruction | 1 | 0 | 0 | 0 | 0 | 0 | 0 | | proposals:bug_fixes [REGEXP.CONSTRUCTION] | | | | | | | | | | | . | Readable RegExps (/x) | 0 | 0 | 0 | 0 | 0 | 0 | 0 | | proposals:extend_regexps, #254, #194 | | | | | | | | | | | . | Comment subpatterns | 1 | 0 | 0 | 0 | 0 | 0 | 0 | | proposals:extend_regexps | | | | | | | | | | | . | Lexer RegExp (/y) | 0 | 0 | 0 | 0 | 0 | 0 | 0 | | proposals:extend_regexps | | | | | | Revised 4/21 | | | | | . | Named Regexp Submatches (and via backreferences) | 0 | 0 | 0 | 0 | 0 | 0 | 0 | | proposals:extend_regexps, #255, #256, #268 | | | | | | | | | | | . | RegExp Unicode character classes | 0 | 0 | 0 | 0 | 0 | 0 | 0 | | proposals:extend_regexps, #14 | | | | | | | | | | | . | RegExp Character Set Subtraction and Intersection | 0 | 0 | 0 | 0 | 0 | 0 | 0 | | proposals:extend_regexps | | | | | | | | | | | . | /regexp/('test') | 0 | 0 | 1 | 0 | 1 | 0 | 0 | | proposals:extend_regexps | | | | against based on experience | | | | | | | . | typeof /regexp/ == 'object' | 1 | 1 | 0 | 0 | 1 | 0 | 0 | | #251 | ES3 mandates this | | | | | | | | | | . | match and nCapturingParens | 0 | 0 | 0 | 0 | 0 | 0 | 0 | | #56 | | | | | | | | | | | . | lastIndex behavior | 0 | 0 | 0 | 0 | 0 | 0 | 0 | | #195 | | | | | | | | | | | . | More permissive charsets | 0 | 0 | 0 | 0 | 0 | 0 | 0 | | #261 | | | | | | | | | | | . | String | | | | | | | | | | | | | | | | | | | | . | Single-Character Substrings | 1 | 1 | 1 | 1 | 1 | 1 | 0 | | proposals:bug_fixes [STRING.CHARAT.BRACKETS] | | | | | | | | | | | . | Triple-quoted strings | 0 | 0 | 0 | 0 | 0 | 0 | 0 | | proposals:triple_quotes | | | | Bigger fish to fry | | | | | | | . | Backslash-newline in strings | 1 | 1 | 1 | 1 | 1 | 1 | 0 | | proposals:bug_fixes [BACKSLASH.NEWLINE.IN.STRINGS] | | | | | | | | ? (why not just allow multiline strings w/o special delimeter?) | | | . | Slicing [5:2:-1] | 0 | 0 | 0 | 0 | 0 | 0 | 0 | | proposals:slice_syntax | | | | | | | | | | |
|
| | | | | | | | | | | | | | | | | | | | | . | String Generics | 1 | 0 | 1 | 0 | 0 | 0 | 0 | | proposals:static_generics | | | | | | | | | | | . | trim method | 1 | 0 | 0 | 0 | 0 | 1 | 0 | | proposals:string.prototype.trim | | | | | | | | | | | . | replace named submatches | 0 | 0 | 0 | 0 | 0 | 0 | 0 | | #286 | | | | | | | | | | | . | Array | | | | | | | | | | | | | | | | | | | | . | Destructuring | 1 | 0 | 1 | 1 | 1 | 0 | 0 | | proposals:destructuring_assignment | | | | | | | | | | | . | Operations on arrays with structural type | 0 | 0 | 0 | 0 | 0 | 0 | 0 | | #320 | Slicing a tuple returns an array, but what about the types? Needs a coherent proposal. Probably the most reasonable is to just return an Array, this is really an edge case. | | | | | | | | | | . | Array literal | 1 | 0 | 0 | 0 | 0 | 1 | 0 | | ES3, proposals:bug_fixes, #164, #165, #68 | | | | | | | | | | | . | Slicing [5:2:-1] | 0 | 0 | 0 | 0 | 0 | 0 | 0 | | proposals:slice_syntax | | | | | | | | | | | . | Array Generics | 1 | 0 | 1 | 0 | 0 | 0 | 0 | | proposals:static_generics | | library.pdf | | | | | | | | | . | indexOf() | 1 | 1 | 1 | 1 | 0 | 1 | 0 | | proposals:static_generics | | library.pfd | | | | | | | | | . | lastIndexOf() | 1 | 1 | 1 | 1 | 0 | 1 | 0 | | proposals:static_generics | | library.pdf | | | | | | | | | . | every() | 1 | 1 | 1 | 1 | 0 | 1 | 0 | | proposals:static_generics | | library.pdf | | | | | | | | | . | filter() | 1 | 1 | 1 | 1 | 0 | 1 | 0 | | proposals:static_generics | | library.pdf | | | | | | | | | . | forEach() | 1 | 1 | 1 | 1 | 0 | 1 | 0 | | proposals:static_generics | | library.pdf | | | | | | | | | . | map() | 1 | 1 | 1 | 1 | 0 | 1 | 0 | | proposals:static_generics | | library.pdf | | | | | | | | | . | some() | 1 | 1 | 1 | 1 | 0 | 1 | 0 | | proposals:static_generics | | library.pdf | | | | | | | | | . | reduce() | 0 | 0 | 1 | 0 | 0 | 0 | 0 | | proposals:static_generics, #156 | | library.pdf | | | | | | | | | . | reduceRight() | 0 | 0 | 1 | 0 | 0 | 0 | 0 | | proposals:static_generics, #156 | | library.pdf | | | | | | | | | . | New builtins | | | | | | | | | | | | | | | | | | | | . | int | 1 | 1 | 0 | 0 | 0 | 1 | 0 | | AS3; proposals:numbers, #203, #182, #4, #3 | #371 proposes removal | library.pdf | | | | | | (with machine int math semantics, not double math semantics) | | |
|
| | | | | | | | | | | | | | | | | | | | | . | uint | 1 | 1 | 0 | 0 | 0 | 0 | 0 | | AS3; proposals:numbers, #203, #183, #4, #3, #51 | #371 proposes removal | library.pdf | | | | | | (with machine uint math semantics, not double math semantics) | | | . | double | 1 | 1 | 0 | 0 | 0 | 1 | 0 | | proposals:numbers, #203, #3 | | library.pdf | | | | | | | | | . | decimal | 1 | 1 | 0 | 0 | 1 | 1 | 0 | | proposals:decimal, #222, #203, #187, #3 | | library.pdf | | | | | | | | | . | Number literal suffixes | 1 | 0 | 0 | 0 | 1 | 0 | 0 | | proposals:numbers | | | | m | | | | | | | . | string | 1 | 1 | 0 | 0 | 0 | 1 | 0 | | ES3, #203 | | library.pdf | | | | | | | | | . | byte | 1 | 0 | 0 | 0 | 0 | 0 | 0 | | #234, #203 | Not accepted | | | | | | | | | | . | boolean | 1 | 0 | 0 | 0 | 0 | 1 | 0 | | ?, #203 | | | | | | | | | | | . | AnyNumber, AnyString, AnyBoolean | 1 | 0 | 0 | 0 | 0 | 1 | 0 | | proposals:numbers, #181, #223 | | library.pdf | | | | | | | | | . | DecimalContext | 0 | 0 | 0 | 0 | 0 | 0 | 0 | | #222, #203 | | | | quantize and round methods instead | | | | | | | . | JSON | 0 | 0 | 0 | 0 | 0 | 0 | 0 | | proposals:json_encoding_and_decoding, #212, #201, #203, #202 | | | | | | | | (not current proposal but JSON API is essential) | | | . | Map | 1 | 0 | 0 | 0 | 0 | 0 | 0 | | proposals:dictionary, #203, #146 | | library.pdf | | | | | | (but not parametric) | | | . | Vector | 1 | 0 | 0 | 0 | 0 | 0 | 0 | | proposals:vector, #196, #197, #203, #198 | | library.pdf | | | | | | | | | . | Name | 1 | 0 | 0 | 0 | 0 | 0 | 0 | | proposals:name_objects, #203 | | library.pdf | | | | | | | | | . | Namespace | 0 | 0 | 0 | 0 | 0 | 1 | 0 | | ?, #204, #203 | | library.pdf | | | | | | | | | . | NamespaceSet | 0 | 0 | 0 | 0 | 0 | 0 | 0 | | proposals:name_objects, #205, #203 | | | | | | | | | | | . | NamespaceSetList | 0 | 0 | 0 | 0 | 0 | 0 | 0 | | proposals:name_objects, #205, #203 | | | | | | | | | | | . | ControlInspector | 0 | 0 | 0 | 0 | 0 | 0 | 0 | | proposals:stack_inspection, #203 | | library.pdf | | optional is bad for the Web | | | | | | | . | Type meta-objects | 0 | 0 | 0 | 0 | 0 | 1 | 0 | | proposals:meta_objects, #200, #205 | | | | | | | | | | | . | Numbers and arithmetic | | | | | | | | | | | | | | | | | | | | . | uint32ops (add, sub mul, div, mod, neg, and, or, xor, not, sll, srl, sra, ror, rol) | 1 | 0 | 0 | 0 | 0 | 0 | 0 | | #216 | | | | | | | | | | |
|
| | | | | | | | | | | | | | | | | | | | | . | Number.parse | 0 | 0 | 0 | 0 | 0 | 0 | 0 | | #275 | | | | | | | | | | | . | int.parse, uint.parse, double.parse, decimal.parse | 0 | 0 | 0 | 0 | 0 | 0 | 0 | | #317 | | | ok if those types are present | ok where the type is present | ok if those types are present | ok if those types are present | | | | | . | double.explode, double.implode, decimal.explode, decimal.implode | 0 | 0 | 0 | 0 | 0 | 0 | 0 | | #160 | double.explode returns pair of unsigned integer values | | | | | | | | | | . | use decimal <context> | 0 | 0 | 0 | 0 | 1 | 1 | 0 | | #222, #221 | Not as defined in proposals:numbers | | | not a pragma | | | | | | | . | Date | | | | | | | | | | | | | | | | | | | | . | Date ISO-8601 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | | proposals:date_and_time, #147 | | | | | | | | (prefer web-compatible definition) | | | . | Date nanoAge method | 0 | 0 | 0 | 0 | 0 | 0 | 0 | | proposals:date_and_time | | | | | | | | | | | . | Overridable defaults? | 0 | 0 | 0 | 0 | 0 | 0 | 0 | | #193 | | | | | | | | | | | . | Date.parse | 1 | 0 | 0 | 0 | 0 | 0 | 0 | | #134, #135, #136 | | | | | | | | | | | . | (more changes here) | | | | | | | 0 | | #129, #191 | | | | | | | | ? | | | . | Misc | | | | | | | | | | | | | | | | | | | | . | use strict | 0 | 0 | 0 | 0 | 0 | 1 | 0 | | proposals:strict_and_standard_modes | | | only as "good taste" mode | may want more runtime semantic changes | | concept ok, details differ | | (don't like modes or optional features) | | | . | use standard | 0 | 0 | 0 | 0 | 0 | 1 | 0 | | proposals:strict_and_standard_modes | Talking about the specific pragma, not the notion of a standard mode | | ill-defined idea in general | | | | | | | | . | do-while semicolon insertion | 0 | 0 | 0 | 0 | 0 | 1 | 0 | | proposals:bug_fixes | | | | | | | | | | | . | Keywords in safe contexts | 0 | 0 | 0 | 0 | 0 | 1 | 0 | | proposals:reserved_words | | | | | | | | | | | . | Unicode updates | 0 | 0 | 0 | 0 | 0 | 0 | 0 | | proposals:update_unicode, #213, #179, #37, #170 | Current proposal is unsound | | | Need sound proposal | | | | | | | . | Line terminator normalization | 1 | | 0 | 0 | 0 | 0 | 0 | | proposals:line_terminator_normalization | | | | | | | | | | | . | | | | | | | | | | | | | | | | | | | | | . | | ES4 RI | Tamarin | Spidermonkey | Rhino | Futhark | Mbedthis | | | | | | | | | | | | | | . | Types | 107 | 44 | 29 | 21 | 12 | 91 | | | | | | | | | | | | | |
|
| | | | | | | | | | | | | | | | | | | | | . | Classes | 15 | 7 | 0 | 0 | 0 | 12 | | | | | | | | | | | | | | . | Structure | 7 | 5 | 1 | 1 | 1 | 10 | | | | | | | | | | | | | | . | Declarations | 5 | 1 | 3 | 3 | 2 | 3 | | | | | | | | | | | | | | . | Statements | 2 | 4 | 3 | 3 | 0 | 7 | | | | | | | | | | | | | | . | Operators | 45 | 25 | 8 | 8 | 3 | 48 | | | | | | | | | | | | | | . | Iteration | 7 | 0 | 2 | 0 | 0 | 8 | | | | | | | | | | | | | | . | Functions | 12 | 2 | 1 | 0 | 0 | 4 | | | | | | | | | | | | | | . | Objects | 2 | 0 | 1 | 1 | 0 | 3 | | | | | | | | | | | | | | . | RegExp | 3 | 1 | 1 | 0 | 2 | 0 | | | | | | | | | | | | | | . | String | 3 | 2 | 3 | 2 | 2 | 2 | | | | | | | | | | | | | | . | Array | 10 | 7 | 11 | 8 | 1 | 8 | | | | | | | | | | | | | | . | Builtins | 4 | 0 | 0 | 0 | 1 | 3 | | | | | | | | | | | | | | . | Misc | 0 | 0 | 0 | 0 | 0 | 4 | | | | | | | | | | | | | | . | | | | | | | | | | | | | | | | | | | | | . | | | | | | | | | | | | | | | | | | | | | . | Tickets that may be important but are unaccounted for above | | | | | | | | | #11, #167 | | | | | | | | | | |
|