On Oct 27, 2014, at 4:17 PM, Brendan Eich wrote: > Allen Wirfs-Brock wrote: >> >> On Oct 26, 2014, at 8:38 PM, Brendan Eich wrote: >> >>> Boris Zbarsky wrote: >>>> If this is how Records work, it would be good to spell that out explicitly. >>> >>> Mutable records have reference, not value, semantics -- good point. >>> >>> Some might object to calling any such spec-internal device a "record". This >>> use of spec-internal reference-semantics mutable "record" could be awkward >>> in a future edition: >>> >>> https://github.com/sebmarkbage/ecmascript-immutable-data-structures >> >> But that is describing language level types, not spec. devices. they would >> not directly map to the List/Record specification types. > > Of course, but the name "record" would be confusingly overloaded. Can we > avoid this? > >>> Does the spec anywhere else need reference semantics for its internal list >>> and record types? >> >> Yes, all over the place. The spec. explicitly makes copies when it doesn't >> want shared references. > > All over the place? I see 12 "copy of" occurrences, not all about internal > list and record types. Probably < 10 to consider. More in a bit.
Not too many places where copy occurs, because mostly reference semantics are what is needed. Things like Realm records, module records, and environment records (the later are their own thing and not actually "Records". But they probably should be) are mutable and passed around by implicit reference. Naming and other such editorial conventions can evolve, but in terms of finishing ES6 they are lower priority than resolve remaining bugs and open technical issues. Allen _______________________________________________ es-discuss mailing list [email protected] https://mail.mozilla.org/listinfo/es-discuss

