Comments on Sept Meeting Notes

Kevin Smith zenparsing at
Tue Sep 24 18:49:52 PDT 2013

Thanks Rick, for writing up these meeting notes once again.  Some comments:

## Symbols ##

As it currently stands, the only thing that symbols provide is an isolated
namespace for meta-level property keys.  This assures us that arbitrary
string keys will not collide with any meta-level property names.  But going
forward, arbitrary string keys should be stored *in a Map*, not as
properties on an object.

Instead of symbols, a namespaced, non-identifier string key can be used for
meta-level property names (e.g.):

    class C {
      "std:iterator"() { ... }

This is more convenient than symbols, serves the purpose equally well, and
it requires no additional primitive types.  In addition, string keys
require no special-casing for representation in debugging tools.  Simpler
is better-er.

## Destructuring Semantics ##

Having two distinct pattern sublanguage semantics (i.e. one for
destructuring and one for pattern matching) is, well, nuts.  The fact the
refutable patterns are _new_ to JS programmers is not sufficient reason to
abandon them.  The real problem here is the false dilemma introduced by
deferring essential features.  In this case, the essential feature is the
irrefutability switch ("?").  We do not have a complete destructuring
feature without it.

## Design Process Changes ##

The slide deck on process change was my favorite part of the notes.  I
completely agree that a more formal process would be good for all.  In my
opinion, modules should be the first feature that is pushed through a more
formal process.  It is abundantly clear to me that modules are not mature
enough to be completed within the next three months, and the right thing to
do is to free modules from the timeframe imposed by "ES6".

{ Kevin }
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the es-discuss mailing list