<html><head>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
</head><body bgcolor="#FFFFFF" text="#000000">Maybe -- the precedent 
from Python and Ruby for 0o377 is strong than Smalltalk precedent at 
this point.<br>
<br>
What's more, you seem to want a generalization to any radix, as if all 
radixes are useful or even used. JS already has 0x for hex, which is 
much more useful than octal. After octal would come binary, and 
CoffeeScript, Python and Ruby precedents want 0b111. After that, there 
really aren't any commonly-used (or all that useful, apart from 
obfuscation exercises) radixes.<br>
<br>
So we have a 0x precedent in JS, from C (by way of Java). We have 
nearby/upstream scripting language precedents with Python, Ruby, and 
CoffeeScript, for 0o and 0b. We have zero practical use-cases for 
arbitrary radixes. Furthermore we won't see people migrate from 0x to 
16r, ever.<br>
<br>
So all of this says to me we should avoid generalizing for its own sake,
 and follow nearby precedents first.<br>
<br>
/be<br>
<br>
<blockquote style="border: 0px none;" 
cite="mid:592D76362A984B0183521DCF80D0DD79@RAFAEL" type="cite">
  <div style="margin:30px 25px 10px 25px;" class="__pbConvHr"><div 
style="display:table;width:100%;border-top:1px solid 
#EDEEF0;padding-top:5px">       <div 
style="display:table-cell;vertical-align:middle;padding-right:6px;"><img
 photoaddress="herby@mailbox.sk" photoname="Herby Vojčík" 
src="cid:part1.06090905.06060708@mozilla.com" name="postbox-contact.jpg"
 height="25px" width="25px"></div>   <div 
style="display:table-cell;white-space:nowrap;vertical-align:middle;width:100%">
        <a moz-do-not-send="true" href="mailto:herby@mailbox.sk" 
style="color:#737F92 
!important;padding-right:6px;font-weight:bold;text-decoration:none 
!important;">Herby Vojčík</a></div>   <div 
style="display:table-cell;white-space:nowrap;vertical-align:middle;">   
  <font color="#9FA2A5"><span style="padding-left:6px">January 12, 2012 
10:48 AM</span></font></div></div></div>
  <div style="color:#888888;margin-left:24px;margin-right:24px;" 
__pbrmquotes="true" class="__pbConvBody">Would it be hard to bring in 
Smalltalkish 8r377? Another (and similar to 0)
<br>special char for specific radix - well, wouldn’t it be better to 
include a
<br>letter for all radixes (CoffeeScript can maybe take it on, too).
<br>
<br>Herby
<br>
<br>-----Pôvodná správa----- 
From: Brendan Eich
<br>Sent: Thursday, January 12, 2012 7:21 PM
<br>To: Axel Rauschmayer
<br>Cc: es-discuss
<br>Subject: Re: Octal literals have their uses (you Unix haters skip 
this one)
<br>
<br>Sorry, are you seriously proposing that Node.js users when they 
specify file
<br>permissions should manually write that out? Come on! Sorry, that's 
just way
<br>too verbose and ugly.
<br>
<br>And performance can be an issue, but the readability and writability
<br>problems are enough.
<br>
<br>/be
<br>
<br>
<br>
<br>Axel Rauschmayer
<br>January 12, 2012 10:10 AM
<br>parseInt("377", 8)? Assuming that performance isn’t an issue.
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>_______________________________________________
<br>es-discuss mailing list
<br><a class="moz-txt-link-abbreviated" href="mailto:es-discuss@mozilla.org">es-discuss@mozilla.org</a>
<br><a class="moz-txt-link-freetext" href="https://mail.mozilla.org/listinfo/es-discuss">https://mail.mozilla.org/listinfo/es-discuss</a> 

<br>
<br></div>
  <div style="margin:30px 25px 10px 25px;" class="__pbConvHr"><div 
style="display:table;width:100%;border-top:1px solid 
#EDEEF0;padding-top:5px">       <div 
style="display:table-cell;vertical-align:middle;padding-right:6px;"><img
 photoaddress="brendan@mozilla.com" photoname="Brendan Eich" 
src="cid:part2.02090205.07070905@mozilla.com" name="postbox-contact.jpg"
 height="25px" width="25px"></div>   <div 
style="display:table-cell;white-space:nowrap;vertical-align:middle;width:100%">
        <a moz-do-not-send="true" href="mailto:brendan@mozilla.com" 
style="color:#737F92 
!important;padding-right:6px;font-weight:bold;text-decoration:none 
!important;">Brendan Eich</a></div>   <div 
style="display:table-cell;white-space:nowrap;vertical-align:middle;">   
  <font color="#9FA2A5"><span style="padding-left:6px">January 12, 2012 
10:21 AM</span></font></div></div></div>
  <div style="color:#888888;margin-left:24px;margin-right:24px;" 
__pbrmquotes="true" class="__pbConvBody">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
Sorry, are you seriously 
proposing that Node.js users when they specify file permissions should 
manually write that out? Come on! Sorry, that's just way too verbose and
 ugly.<br>
<br>
And performance can be an issue, but the readability and writability 
problems are enough.<br>
<br>
/be<br>
<br>

<div>_______________________________________________<br>es-discuss 
mailing list<br><a class="moz-txt-link-abbreviated" href="mailto:es-discuss@mozilla.org">es-discuss@mozilla.org</a><br><a class="moz-txt-link-freetext" href="https://mail.mozilla.org/listinfo/es-discuss">https://mail.mozilla.org/listinfo/es-discuss</a><br></div></div>
  <div style="margin:30px 25px 10px 25px;" class="__pbConvHr"><div 
style="display:table;width:100%;border-top:1px solid 
#EDEEF0;padding-top:5px">       <div 
style="display:table-cell;vertical-align:middle;padding-right:6px;"><img
 photoaddress="axel@rauschma.de" photoname="Axel Rauschmayer" 
src="cid:part3.02030209.04020201@mozilla.com" name="postbox-contact.jpg"
 height="25px" width="25px"></div>   <div 
style="display:table-cell;white-space:nowrap;vertical-align:middle;width:100%">
        <a moz-do-not-send="true" href="mailto:axel@rauschma.de" 
style="color:#737F92 
!important;padding-right:6px;font-weight:bold;text-decoration:none 
!important;">Axel Rauschmayer</a></div>   <div 
style="display:table-cell;white-space:nowrap;vertical-align:middle;">   
  <font color="#9FA2A5"><span style="padding-left:6px">January 12, 2012 
10:10 AM</span></font></div></div></div>
  <div style="color:#888888;margin-left:24px;margin-right:24px;" 
__pbrmquotes="true" class="__pbConvBody"><div>parseInt("377", 8)? 
Assuming that performance isn’t an issue.<br><br></div><div><!----><br></div></div>
  <div style="margin:30px 25px 10px 25px;" class="__pbConvHr"><div 
style="display:table;width:100%;border-top:1px solid 
#EDEEF0;padding-top:5px">       <div 
style="display:table-cell;vertical-align:middle;padding-right:6px;"><img
 photoaddress="brendan@mozilla.com" photoname="Brendan Eich" 
src="cid:part2.02090205.07070905@mozilla.com" name="postbox-contact.jpg"
 height="25px" width="25px"></div>   <div 
style="display:table-cell;white-space:nowrap;vertical-align:middle;width:100%">
        <a moz-do-not-send="true" href="mailto:brendan@mozilla.com" 
style="color:#737F92 
!important;padding-right:6px;font-weight:bold;text-decoration:none 
!important;">Brendan Eich</a></div>   <div 
style="display:table-cell;white-space:nowrap;vertical-align:middle;">   
  <font color="#9FA2A5"><span style="padding-left:6px">January 12, 2012 
10:01 AM</span></font></div></div></div>
  <div style="color:#888888;margin-left:24px;margin-right:24px;" 
__pbrmquotes="true" class="__pbConvBody">See 
<a class="moz-txt-link-freetext" href="https://github.com/jashkenas/coffee-script/pull/2021">https://github.com/jashkenas/coffee-script/pull/2021</a> -- strict mode 
support in CoffeeScript exposes a valid use-case, Unix-flavor file 
permissions (mode bits we used to say). Node.js APIs really want users 
to call with literals such as 0644. Strict mode says no way.
<br>
<br>For now CoffeeScript probably will support 0o644 and translate to 
hex or 
decimal literals to dodge the strict error. But ES5 still has octal in 
Annex B, and AFAIK octal support is still required for web 
compatibility.
<br>
<br>Strict mode is not being adopted widely enough, certainly not in 
node.js 
code, to kill octal literals. Killing octal literals is user-hostile 
when it comes to Unix permissions. So I think we should stop tilting at 
a friendly windmill, and either support octal literals (but not noctal 
-- no 08 or 09), or support 0o377 etc. as CoffeeScript looks like it 
will do.
<br>
<br>Some may object to lowercase o as prefix. It's clear enough in all 
fonts, but if we allow uppercase O too, then some might fear user 
confusion with 0 used instead of O. But if we support 0o377 and 0O377, 
we can continue to reject (in strict mode and therefore in Harmony) 
00377. Anyway, there's no homograph phishing attack threat as with URLs.
<br>
<br>If the CoffeeScript experiment with 0o prefixes for octal works out,
 I 
think we should adopt that prefix. But at this point I wouldn't be 
surprised to see retention of 0377 support be demanded by 
CoffeeScript/Node.js users, and they have a point.
<br>
<br>CoffeeScript can certainly compile this to a strict hex or decimal 
literal to dodge the error, but then JS/Node.js is at a loss, and for no
 
good reason. In this case I will argue for supporting octal literals in 
strict mode.
<br>
<br>/be
<br>
<br>_______________________________________________
<br>es-discuss mailing list
<br><a class="moz-txt-link-abbreviated" href="mailto:es-discuss@mozilla.org">es-discuss@mozilla.org</a>
<br><a class="moz-txt-link-freetext" href="https://mail.mozilla.org/listinfo/es-discuss">https://mail.mozilla.org/listinfo/es-discuss</a>
<br>
<br></div>
</blockquote>
</body></html>