<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div><div>On Jun 24, 2008, at 9:34 PM, Allen Wirfs-Brock wrote:</div><blockquote type="cite"><div class="Section1"><p class="MsoNormal"><span class="Apple-style-span" style="-webkit-text-stroke-width: -1; "><span style="font-size:11.0pt; font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#1F497D">Note that steps 1,2, and 5 amount to ToObject(GetValue(“abc”)).  GetValue(“abc”) yields “abc” so this is really just ToObject(“abc”).  9.9 says ToObject when applied to a s primitive string: “</span><span style="font-size:10.0pt">Create a new String object whose [[value]] property is set to the value of the string.</span><span style="font-size:11.0pt;font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;;color:#1F497D">”.  That string object becomes the base object of the resulting Reference.  So the literal get converted into an object that  has a [[Get]]</span></span></p></div></blockquote><div><br></div>Oh, I agree -- that's why I wrote "No" in reply to your "Am I wrong?" :-).</div><div><br></div><div>/be</div><div><br><blockquote type="cite"><div class="Section1"> <div> <div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in"><p class="MsoNormal"><b><span style="font-size:10.0pt;font-family:&quot;Tahoma&quot;,&quot;sans-serif&quot;">From:</span></b><span style="font-size:10.0pt;font-family:&quot;Tahoma&quot;,&quot;sans-serif&quot;"> Brendan Eich [<a href="mailto:brendan@mozilla.org">mailto:brendan@mozilla.org</a>] <br> <b>Sent:</b> Tuesday, June 24, 2008 7:34 PM<br> <b>To:</b> Allen Wirfs-Brock; Maciej Stachowiak<br> <b>Cc:</b> <a href="mailto:es3.x-discuss@mozilla.org">es3.x-discuss@mozilla.org</a> x-discuss; Pratap Lakshman (VJ#SDK); <a href="mailto:es4-discuss@mozilla.org">es4-discuss@mozilla.org</a> es4-discuss<br> <b>Subject:</b> Re: Semantics of "indexed" string access<o:p></o:p></span></p> </div> </div><p class="MsoNormal"><o:p> </o:p></p> <div> <div><p class="MsoNormal">On Jun 24, 2008, at 6:39 PM, Allen Wirfs-Brock wrote:<o:p></o:p></p> </div><p class="MsoNormal"><br> <br> <o:p></o:p></p> <div><p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#1F497D">Actually, the intent was to support “indexed” access to both string values and string wrapper objects.  I just didn’t make it clear in the example.  The case analysis was intended to apply to both. My reading of section 11.2.1 is that  a string value is to be transformed into an object before any actual property access semantics are applied. Am I wrong?</span><o:p></o:p></p> </div> <div><p class="MsoNormal"><o:p> </o:p></p> </div><p class="MsoNormal">No, the primitive string type (called "String", confusingly, in ES1-3 when it uses type names) is not an object. It has no internal methods such as [[Get]].<o:p></o:p></p> </div> <div><p class="MsoNormal"><o:p> </o:p></p> </div> <div><p class="MsoNormal">Specifying the indexed unit-string access semantic based on the wrapper String (spelled as in the language) object seems ok. I noted a Result(4) that should have been Result(6) in step 7, via private email to Allen (this type of error is going to happen a lot; count on it).<o:p></o:p></p> </div> <div><p class="MsoNormal"><o:p> </o:p></p> </div> <div><p class="MsoNormal">/be<o:p></o:p></p> </div> </div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">_______________________________________________</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">Es4-discuss mailing list</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><a href="mailto:Es4-discuss@mozilla.org">Es4-discuss@mozilla.org</a></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><a href="https://mail.mozilla.org/listinfo/es4-discuss">https://mail.mozilla.org/listinfo/es4-discuss</a></div> </blockquote></div><br></body></html>