<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div><div>On Apr 29, 2010, at 4:33 PM, Mark S. Miller wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite">On Thu, Apr 29, 2010 at 2:40 PM, Brendan Eich <span dir="ltr">&lt;<a href="mailto:brendan@mozilla.com">brendan@mozilla.com</a>&gt;</span> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"> <div class="im">The JSConf audience poll did provoke someone to suggest "fun", and I mentioned "fn" (the ML family languages have both). Two letters or three might be few enough, and avoid the line-noise and can't-type-Greek issues.</div> <div><div></div><div class="h5"><br></div></div></blockquote><div><br></div><div>Neither "fun" nor "fn" are reserved identifiers. They are short ascii identifiers, so conflicts are virtually guaranteed. I don't see any realistic way to make them keywords without either breaking the web or (in your terminology) raising the opt-in migration tax too high. Am I missing something?</div></div></blockquote><div><br></div>No, you're not missing anything, except possibly this: the same objection applies to lambda (<span class="Apple-style-span" style="font-family: monospace; ">λ)<span class="Apple-style-span" style="font-family: Helvetica; ">&nbsp;and florin (ƒ).</span></span></div><div><br></div><div><span class="Apple-style-span" style="font-family: monospace; "><span class="Apple-style-span" style="font-family: Helvetica; ">On the other hand, with opt-in versioning, developers might find that the migration tax is not that bad, for any of these including "fn" and perhaps even "fun".</span></span></div><div><br></div><div><br><blockquote type="cite"><div class="gmail_quote"><div> If there is a painless way to introduce short keywords that weren't previously reserved, I'd love to understand that.&nbsp;</div> </div></blockquote></div><br><div>It's all about the low odds of ƒ or (I have to go copy and paste now)&nbsp;<span class="Apple-style-span" style="font-family: monospace; ">λ or fn being used as an identifier. The odds are worse for fn, even worse for fun, but possibly still low enough.</span></div><div><font class="Apple-style-span" face="monospace"><br></font></div><div><span class="Apple-style-span" style="font-family: monospace; ">But again, any Unicode identifier however short (if not already reserved) is an incompatible change from ES1-5.</span></div><div><font class="Apple-style-span" face="monospace"><br></font></div><div><font class="Apple-style-span" face="monospace">/be</font></div></body></html>