<html><head><meta content="text/html; charset=utf-8" http-equiv="Content-Type"></head><body><div><div style="font-family:Calibri,sans-serif;font-size:11pt">Let me explain my use-case a bit more. Ember exposes an Ember.Map class that downstream users (the framework, but also app developers) can use when they want maps with arbitrary keys. I explained the implementation a bit upthread.<br>
<br>Ideally, I would like to be able to do something like Ember.Map = Map if ES6 maps are available, since we fashioned our map API intentionally after the ES6 API.<br><br>However, this means that all downstream users would need to use ['delete'] something that is sufficiently weird and confusing to new developers that we always avoid it.<br>
<br>It occurs to me that if Maps are available, so are proxies, but I'm not sure I want to start using proxies as a blunt force instrument.<br><br>Sent from my Windows Phone<br></div></div><hr><span style="font-family:Tahoma,sans-serif;font-size:10pt;font-weight:bold">From: </span><span style="font-family:Tahoma,sans-serif;font-size:10pt">Mark S. Miller</span><br>
<span style="font-family:Tahoma,sans-serif;font-size:10pt;font-weight:bold">Sent: </span><span style="font-family:Tahoma,sans-serif;font-size:10pt">2/28/2012 11:54 AM</span><br><span style="font-family:Tahoma,sans-serif;font-size:10pt;font-weight:bold">To: </span><span style="font-family:Tahoma,sans-serif;font-size:10pt">Adam Shannon</span><br>
<span style="font-family:Tahoma,sans-serif;font-size:10pt;font-weight:bold">Cc: </span><span style="font-family:Tahoma,sans-serif;font-size:10pt">Yehuda Katz; es-discuss</span><br><span style="font-family:Tahoma,sans-serif;font-size:10pt;font-weight:bold">Subject: </span><span style="font-family:Tahoma,sans-serif;font-size:10pt">Re: set.delete method name</span><br>
<br></body></html>I appreciate the feedback, but I do not understand the rationale. Is it just to avoid needing to say<div><br></div><div>    map['delete'](key)</div><div><br></div><div>when supporting old browsers without an ES5->ES3 translation step? If there is no other downside, I'm inclined to stick with "delete".</div>

<div><br><br><div class="gmail_quote">On Tue, Feb 28, 2012 at 11:49 AM, Adam Shannon <span dir="ltr"><<a href="mailto:adam@ashannon.us">adam@ashannon.us</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

I agree that it should be named "remove" rather than delete.<div class="HOEnZb"><div class="h5"><br><br>On Tuesday, February 28, 2012, Yehuda Katz  wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">


<div>Just catching up on this discussion. I should point out that this problem applies to Map and possibly other collections as well.</div><div><br></div><div>Speaking as someone who is looking to use these features today, I hit this problem immediately. Ember.js already has a Map; we can reliably generate a unique id for any object (by stashing it on the object; ok for our cases), and have a reliable way to generate guids for non-Objects.</div>




<div><br></div><div>Ideally, we'd like to be able to say something like: `if(typeof Map !== "undefined") { Ember.Map = Map; }` (although we'd probably do more checks because shims in general have worse performance characteristics).</div>




<div><br></div><div>Unfortunately, because of the `delete` problem, we cannot do this. Because we are unwilling to monkey-patch Map directly, we will have to create a shim object that delegates to the Map.</div><div><br>



</div>
<div>I'm sympathetic to the "let's not make choices based on old broken browsers", but let's be fair here. The name `remove` is perfectly clear. In five years, nobody is going to think twice about that API, and web developers won't think twice about it today. Using a clear name that also happens not to run afoul of older browsers for shim purposes isn't caving to the past: it's being pragmatic about helping people adopt a new feature with very little cost.</div>




<br clear="all">Yehuda Katz<br>(ph) <a href="tel:718.877.1325" value="+17188771325" target="_blank">718.877.1325</a><br>
</blockquote><br><br></div></div><span class="HOEnZb"><font color="#888888">-- <br>Adam Shannon<br>Developer<br>University of Northern Iowa<br>Sophomore -- Computer Science B.S. & Mathematics<br><a href="http://ashannon.us" target="_blank">http://ashannon.us</a><br>


</font></span><br>_______________________________________________<br>
es-discuss mailing list<br>
<a href="mailto:es-discuss@mozilla.org">es-discuss@mozilla.org</a><br>
<a href="https://mail.mozilla.org/listinfo/es-discuss" target="_blank">https://mail.mozilla.org/listinfo/es-discuss</a><br>
<br></blockquote></div><br><br clear="all"><div><br></div>-- <br>    Cheers,<br>    --MarkM<br>
</div>