About this Directory
This ‘strawman’ namespace is intended to contain proposals for the “ES-Harmony” language that are not yet approved harmony proposals, and to clearly separate them from the legacy ES4 pages.
Proposals
Concurrency, Asynchrony, and Distributed Programming
-
deferred functions allow writing asynchronous code in a linear style where you would otherwise use callbacks and manual CPS (peterhal)
-
Exemplars, Inheritance
Array
-
array subtypes, for allowing construction of array instances with prototype other than Array.prototype (olliej)
-
-
-
-
Number and Math Enhancements
String
Syntax
Functions
-
-
-
-
-
fix function name binding (Allen) Make the binding of function names consistent between
FunctionExpressions and
FunctionDeclarations
soft bind (alex, arv, markm) A binding operator intermediate between JavaScript’s current loose binding and the tight binding of
Function.prototype.bind.
bind operator, a concrete syntax for binding
this and
Function.prototype.call (dherman)
Regular Expressions
Modules
-
system, a place to put powerful objects provided by the embedding without having to introduce names into the global scope every time.
Operators
Value types
value types, requirements for first-class number-like objects with operators and (we hope) literal syntax (brendan)
-
-
-
Garbage collection
gc semantics Thoughts on specifying the semantics of garbage collection. (markm)
-
-
Data structures
Loops, iteration, enumeration
-
enumeration, more fully-specified semantics for property enumeration in
for-
in loops (brendan, dherman)
simultaneous iteration, an extension to the
for-
of syntax for looping over multiple iterators simultaneously (dherman)
Private Names providing unique, unforgeable property names
Proxies
Similar declarative object extension mechanisms
High Integrity Factories
-
guards A syntax for dynamic type-like checks (markm, waldemar)
trademarks Simple semantics for dynamic type-like checks (markm, waldemar)
Versions and Configuration
versioning, the full versioning of script tag content and whole-frame/window object model monty (brendan)
ast, a parser built into conforming Harmony implementations which returns a standard abstract syntax tree (dherman)
-
paren free, relaxing the rules about mandatory parentheses (brendan, dherman)
completion let, a variation on
let expressions that uses completions (dherman)
-
Conditionals
catch guards, for conditionally catching exceptions (dherman)
-
cond expressions, for concise linear nesting of conditional expressions (dherman)
observe, better databinding via object change notifications
attach, support databinding via proxies
Specification Techniques
Terminology, Revised specification terminology for some ECMAScript concepts, eliminate “host” and “native” object terminology.
Internationalization support
Inactive proposals