<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">If the intent is to get ECMAScript implementations to quickly provide this function then I would suggest that it be specified only in terms of things that are already in ES5. &nbsp;That would preclude use of anything from the Harmony binary data strawman.<div><br></div><div>I don't particularly see why a "binary array" is needed in this situations. &nbsp;A regular ES5 array is perfectly capable of holding the numeric results. &nbsp;And why overwrite the elements of an existing array? &nbsp;Why not just creating a new Array and use the argument to specify the desired length?</div><div><br></div><div>I don't understand the use cases that would justify the various integer length options for the random elements.. &nbsp;One reasonable size seems fine. &nbsp;I would probably go with 16 bit units in recognitions that many JavaScript implementations have optimized small integer sizes &lt; 32 bits. &nbsp;If you want 8 bit or 32 bit values, assemble them yourself out of the 16 bits values.</div><div><br></div><div>Alternative, if you are are attached to pure binary data. The function could return a string value, as ECMAScript strings are really immutable vectors of 16-bit unsigned values.</div><div><br></div><div>In either case, I would attach the method to Array (or string) if we went down that path:</div><div><br></div><div>Array.randomValues = function randomValues (len) {</div><div>&nbsp;&nbsp; //built-in</div><div>&nbsp;&nbsp; //Return an Array of ToUInt32(len) elements where each element is a number in the range 0 to 65535</div><div>&nbsp;&nbsp;// The values of the elements must be generated using a strong crypto PRNG</div><div>&nbsp;&nbsp;// &nbsp;If ToUInt32(len) random values are not available, throw a RangeError Exception</div><div><br></div><div>alternatively,</div><div><div>String.randomValues = function randomValues (len) {</div><div>&nbsp;&nbsp; //built-in</div><div>&nbsp;&nbsp; //Return an string value consisting of ToInteger(len) characters.</div><div>&nbsp;&nbsp;// The character code &nbsp;of the element of the string must be generated using a strong crypto PRNG</div><div>&nbsp;&nbsp;// &nbsp;If ToInteger(len) is not a positive integer or if that many random values are not available, throw a RangeError Exception</div></div><div><br></div><div>&nbsp;&nbsp;&nbsp;</div><div><br></div><div><br></div><div><br></div><div>&nbsp;<br><div><div>On Feb 14, 2011, at 2:25 PM, Mark S. Miller wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite">While we're waiting for Adam to subscribe to es-discuss and repost his messages on this thread, this one seems worth pre-posting.<div><br></div><div>Changes needed for this to become an EcmaScript strawman:</div><div><br>
</div><div>Replace references to ArrayBufferView with appropriate abstractions from &lt;<a href="http://wiki.ecmascript.org/doku.php?id=strawman:binary_data">http://wiki.ecmascript.org/doku.php?id=strawman:binary_data</a>&gt;.</div>
<div>Replace WebIDL as a specification language with a JavaScript based API spec.</div><div>Get rid of the dependence on "window". Probably avoid introducing a new global "crypto" as well, though we can argue about that.</div>
<div><br></div><div>Are there any other lurking browser dependencies in Adam's spec that we need to scrub away?</div><div><br><br><div class="gmail_quote">On Mon, Feb 14, 2011 at 2:08 PM, Adam Barth <span dir="ltr">&lt;<a href="mailto:w3c@adambarth.com">w3c@adambarth.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div class="im">On Mon, Feb 14, 2011 at 12:49 PM, Brendan Eich &lt;<a href="mailto:brendan@mozilla.org">brendan@mozilla.org</a>&gt; wrote:<br>

&gt; On Feb 14, 2011, at 12:26 PM, Adam Barth wrote:<br>
</div><div class="im">&gt; &gt; Ok. &nbsp;I'll write up a spec later today.<br>
&gt;<br>
&gt; Thanks.<br>
<br>
</div>Done: <a href="http://wiki.whatwg.org/wiki/Crypto" target="_blank">http://wiki.whatwg.org/wiki/Crypto</a><br>
<br>
Feedback appreciated.<br>
<font color="#888888"><br>
Adam<br>
</font></blockquote></div><br><br clear="all"><br>-- <br>&nbsp; &nbsp; Cheers,<br>&nbsp; &nbsp; --MarkM<br>
</div>
_______________________________________________<br>es-discuss mailing list<br><a href="mailto:es-discuss@mozilla.org">es-discuss@mozilla.org</a><br>https://mail.mozilla.org/listinfo/es-discuss<br></blockquote></div><br></div></body></html>