<p dir="ltr">My operator names for the shifts were modeled after the typical assembly mnemonics.</p>
<p dir="ltr">- `<<` - `shl` (logical left shift) <br>
- `>>` - `sar` (arithmetic/sign propagating right shift) <br>
- `>>>` - `shr` (logical right shift) </p>
<p dir="ltr">There is no arithmetic left shift, since it's effectively equivalent to the logical version IIRC. </p>
<p dir="ltr">My main wish is that the names should be short, or there would be no advantage of using them.</p>
<br><div class="gmail_quote"><div dir="ltr">On Fri, Oct 16, 2015, 16:47 Michael McGlothlin <<a href="mailto:mike.mcglothlin@gmail.com">mike.mcglothlin@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Having Op for all operator functions would be a good call. Probably better than adding Bitwise, Logic, etc just from the point of view of not filling up the namespace to much. I think short names would be fine so long as they were readable. So leftShift could be lShift but lsh is probably to mysterious. Even operator-like functions without an actual operator assigned would make sense I think so no reason not to include pow. A general purpose casting operator/func would be good I think but not sure if there is a point to specialized ones just to numbers, strings, and whatnot.</div><div class="gmail_extra"><br><div class="gmail_quote"></div></div><div class="gmail_extra"><div class="gmail_quote">On Fri, Oct 16, 2015 at 2:39 PM, Isiah Meadows <span dir="ltr"><<a href="mailto:isiahmeadows@gmail.com" target="_blank">isiahmeadows@gmail.com</a>></span> wrote:<br></div></div><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><p dir="ltr">That might work, although these two might need edited for consistency:</p>
<p dir="ltr">- Math.pow === Op.pow (assuming `**` gets in)<br>
- Op.num should be similar to `x => +x`, not `x => ToNumber(x)`. The behavior is slightly different, but can be observable without modifying `Number`, I believe.</p><div><div>
<br><div class="gmail_quote"><div dir="ltr">On Fri, Oct 16, 2015, 14:43 Tab Atkins Jr. <<a href="mailto:jackalmage@gmail.com" target="_blank">jackalmage@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On Thu, Oct 15, 2015 at 11:12 PM, Isiah Meadows <<a href="mailto:isiahmeadows@gmail.com" target="_blank">isiahmeadows@gmail.com</a>> wrote:<br>
> I like the idea, but could the function names be made a little<br>
> shorter? I'd like to at least save some characters on it. Example:<br>
> `(a, b) => a > b` is 15 characters, where `Math.greaterThan` is 16.<br>
><br>
> For comparison, I also have equivalent versions for the colon-preceded operators<br>
><br>
> Here's some naming ideas I have:<br>
[snip]<br>
<br>
At that point, though, the use of the Math namespace starts getting<br>
weird.  Equality and Logical aren't mathematical; Bitwise mostly isn't<br>
either.  (It can sometimes be used to do mathy things, like using<br>
shift to mul/div by a power of 2, but that's not its core purpose.)<br>
<br>
Put them on a new Op namespace object, or into an Op built-in module.<br>
Even shorter, and clearer!<br>
<br>
~TJ<br>
</blockquote></div>
</div></div><br></blockquote></div></div><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">_______________________________________________<br>
es-discuss mailing list<br>
<a href="mailto:es-discuss@mozilla.org" target="_blank">es-discuss@mozilla.org</a><br>
<a href="https://mail.mozilla.org/listinfo/es-discuss" rel="noreferrer" target="_blank">https://mail.mozilla.org/listinfo/es-discuss</a><br>
<br></blockquote></div></div></blockquote></div>