Attribute defaults for Object.defineProperty

Allen Wirfs-Brock Allen.Wirfs-Brock at microsoft.com
Fri Aug 22 08:04:59 PDT 2008


Michael Haufe [mailto:TNO at TheNewObjective.com] said:
> My suggestions:
>
> [[IsMod]] "Is capable of being Modified"

Doesn't follow the "able" convention we established for attributes
> [[Amendable]]

Possible confusion with [[Writable]]

> [[Adaptable]]

Plausible, but when last considered [[Flexible]] won out over it. The common meaning of "configurable" seems a bit closer to the actual semantics than the common meaning of "adaptable"
>
> [[Alter]] "Alterable"

Possible confusion with [[Writable]]

Jeff Watkins <Watkins at apple.com> said:

> What about Fixed: neither its existence nor its type may be changed?

We've already consider "Fixed".  Its common meaning and phonics are close enough to "freeze" (which is a term we are using for a related purpose) that we believe people would find the two terms confusing.

>> Although I'd prefer to control Deletable separately from Fixed,

Using a single state to control deletability, attribute mutability, and property transformation/replacement is a compromise.  There may be some situations where somebody would really like to control these separately  but it is probably a pretty limited use case.  Individual attributes to control each of these types of transformations make the language and its implementation more complex.  It might also make it more difficult to upgrade existing implementation to 3.1.  As it is, we assume that most implementations can just repurpose their dontDelete bit (if they have one)

> because I'd love to see a delete added to get and set for properties.

Don't quite understand what you are asking for here?


> -----Original Message-----
> From: es-discuss-bounces at mozilla.org [mailto:es-discuss-
> bounces at mozilla.org] On Behalf Of Jeff Watkins
> Sent: Thursday, August 21, 2008 9:53 PM
> To: es-discuss at mozilla.org
> Subject: Re: Attribute defaults for Object.defineProperty
>
> What about Fixed: neither its existence nor its type may be changed?
>
> Although I'd prefer to control Deletable separately from Fixed,
> because I'd love to see a delete added to get and set for properties.
>
> On 21 Aug, 2008, at 7:37 AM, Neil Mix wrote:
>
> > writable: can be written to
> > enumerable: can be enumerated
> > flexible: can be flexed?
> >
> > how about configurable?
> >
> > On Aug 20, 2008, at 5:31 PM, Allen Wirfs-Brock wrote:
> >
> >>> From: Brendan Eich [mailto:brendan at mozilla.org]
> >>> Sent: Wednesday, August 20, 2008 11:25 AM
> >> [snip]
> >>>
> >>> Hi Allen, could you remind me and a few others who were wondering
> >>> yesterday (sorry I don't remember -- it's in minutes, somewhere)
> why
> >>> [[Deletable]] was not chosen instead of [[Flexible]]? Thanks.
> >>
> >>
> >> The reason for not using "deletable" was originally explained in the
> >> message below.  I believe that at one of the phone meetings after
> >> Oslo we briefly discussed changing it back to "dynamic" or possibly
> >> something else but the consensus was to stick with "flexible".
> >>
> >>> -----Original Message-----
> >>> From: es3.x-discuss-bounces at mozilla.org [mailto:es3.x-discuss-
> >>> bounces at mozilla.org] On Behalf Of Allen Wirfs-Brock
> >>> Sent: Thursday, June 26, 2008 1:39 PM
> >>> To: es3.x-discuss at mozilla.org x-discuss; es4-discuss at mozilla.org
> >>> es4-
> >>> discuss
> >>> Subject: RE: "dynamic" attribute nomenclature
> >>>
> >>> At today's ES 3.1 conference call (see
> >>>
> http://wiki.ecmascript.org/doku.php?id=meetings:minutes_jun_24_2008)
> >>> we agreed to use the term "Flexible" for the property attribute
> that
> >>> we recently had been calling "Dynamic" and which subsumes the
> >>> DontDelete attribute.
> >>>
> >>> From: Allen Wirfs-Brock
> >>> Sent: Wednesday, June 25, 2008 10:37 AM
> >>> To: Lars Hansen; Mark S. Miller
> >>> Cc: es3.x-discuss at mozilla.org x-discuss
> >>> Subject: "dynamic" attribute nomenclature
> >>>
> >>> In Lars's feedback on the the June 11, ES3.1 draft he said:
> >>>
> >>> p26 8.6.1.  (And throughout the spec) The meaning of "dynamic" in
> >>> ES4
> >>> is something else (it means a non-fixture property).  It would
> >>> probably
> >>> reduce confusion if the property name Deletable were used here, as
> I
> >>> though we had agreed previously.
> >>>
> >>> Dynamic as currently used in ES3.1 means more than just Deletable,
> >>> it
> >>> also means that the property attributes (including the Dynamic
> >>> attribute) can be modified and that it can be transformed  between
> >>> being a data and procedural property. Hence, the name Deletable
> >>> seems
> >>> to imply something too narrow.
> >>>
> >>> Playing around with the thesaurus, the best "positive, active term
> >>> that
> >>> I could find that seems to be a reasonable description of this
> >>> semantics is:
> >>>     Alterable
> >>>
> >>> (other, perhaps less satisfy or otherwise unacceptable alternatives
> >>> include: changeable, mutable, modifiable, flexible, amendable)
> >>>
> >>> Note this would mean  that data properties would expose properties
> >>> named Writable and Alterable.  My sense is that there is enough
> >>> conceptual  distance between those terms that there won't be too
> >>> much
> >>> confusion.
> >>>
> >>> Thoughts??
> >> _______________________________________________
> >> Es-discuss mailing list
> >> Es-discuss at mozilla.org
> >> https://mail.mozilla.org/listinfo/es-discuss
> >
> > _______________________________________________
> > Es-discuss mailing list
> > Es-discuss at mozilla.org
> > https://mail.mozilla.org/listinfo/es-discuss
>
> _______________________________________________
> Es-discuss mailing list
> Es-discuss at mozilla.org
> https://mail.mozilla.org/listinfo/es-discuss



More information about the Es-discuss mailing list