On Oct 8, 2013, at 10:38 AM, Brendan Eich wrote: > Claude Pache wrote: >> It may be useful to recall that there are different concepts in the spec >> that have a name enclosed in double square brackets. I have found these >> three: >> >> * attributes of object properties (Section 6.1.7.1) [1]; > > Note this is an ES5 change from ES1-3, which used DontDelete, DontEnum, and > ReadOnly without [[]] brackets. > >> * internal methods and internal data properties of objects (Section 6.1.7.2) >> [2]; >> * fields of records (Section 6.2.2) [3]. >> >> Among those concepts, the notation `O.[[X]]` is defined (and, I presume, >> used) only for fields of records. But there is some risk for the reader to >> accidentally extend this notation to internal data properties of objects. > > I agree on risk of confusion. Distinct notation for notably distinct spec > constructs seems best. Just [[]]-bracketing all spec-level or unreflected > meta-level names does not achieve any particular goal, and we don't do that > anyway. > > In contrast to programming languages hindered by QWERTY and ASCII legacies, > the Spec has lots of typographic expressiveness to choose from. True, ASCII > transcriptions and mockups would be harder, but some alternative brackets > (chevrons) have digraphs (<< and >>). And perhaps just a few nice font > choices and no brackets (which add non-trivial visual noise) would be better > for some use-cases. > > Allen, what do you think?
I generally agree but, I'm also much more focused right now on getting the ES6 spec. feature complete than I am on notational cleanups. For now, I think it is probably adequate to clarify that [[ ]] is always used to designate meta-level specification names. There has also been enough confusion about the differences between meta-level "internal data properties" and ECMAScript language "data properties" to justify a global renaming of "internal data property" to "internal data field" (or perhaps "internal data slot", I'm concern about possible confusion with "fields" of the Record specification type). Allen _______________________________________________ es-discuss mailing list [email protected] https://mail.mozilla.org/listinfo/es-discuss

