<div dir="ltr"><div><div>> I feel like Rust might be missing out on the free lunch I expect Swift to provide<br><br></div>I think that it may be unfounded to expect Swift to spur drastic improvements to any aspect of LLVM. Apple is already the biggest benefactor of LLVM, which powers the C compiler their OS is built with, the Objective-C language that all their apps are written in, the IDE used to write those apps, and the Javascript engine that powers their web browser. Despite Swift's arrival, I wouldn't expect any greater investment in LLVM than Apple does currently (which is a shame, given the bazillion dollars burning a hole in their pocket).<br>

<br></div>I'd like to also note that Apple has no external incentive to improve Swift. Objective-C was a dead language before Apple's fiat rocketed it into the position of world's third-most-popular programming language. Regardless of Swift's implementation or design decisions, it *will* be one of the most popular languages in the world come this time next year (likely accompanied by Objective-C's meteoric descent). If Swift were a fusion of RPG and Malbolge with an implementation written in INTERCAL, this fact would not change (thankfully, the Swift designers have better taste). Why bother straining yourself to satisfy a captive audience, when your only real competitor is whatever dialect of Java that Dalvik supports?<br>

</div><div class="gmail_extra"><br><br><div class="gmail_quote">On Mon, Jun 23, 2014 at 5:08 PM, Tony Arcieri <span dir="ltr"><<a href="mailto:bascule@gmail.com" target="_blank">bascule@gmail.com</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div class="">On Mon, Jun 23, 2014 at 1:32 PM, Daniel Micay <span dir="ltr"><<a href="mailto:danielmicay@gmail.com" target="_blank">danielmicay@gmail.com</a>></span> wrote:<br>



<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div>It would be an enormous mistake to ship a language with region typing /<br>



</div>
move semantics and worse before than Java.</blockquote><div><br></div></div><div>You keep saying that, but if the argument is to use Swift's approach, i.e.:</div><div><br></div><div>Non-overflow operators: + - * / %</div>

<div>

Overflow operators: &+ &- &* &/ &%</div><div><br></div><div>Or let's swap Swift's defaults if you so desire:</div><div><br></div><div>Overflow operators: + - * / %</div><div>Non-overflow operators: &+ &- &* &/ &%</div>



<div> </div><div>Or even change the syntax if you so desire:</div><div><br></div><div><div>Overflow operators: + - * / %</div><div>Non-Overflow operators: +~ -~ *~ /~ %~</div></div><div><br></div><div>...then any arguments about performance are really a false dichotomy. It's just a question of syntax and defaults. Want to perform well at TIOBE or other (micro)benchmarks? Use the overflow operators! Want to write safe code? Use the checked overflow operators. I really think Rust should support both approaches, be it implemented through a type or operator or what have you. I'm not here to bikeshed that. I just want to make sure both approaches have a first class position in the language, and would generally prefer but don't insist upon checked overflow being the default.</div>



<div><br></div><div>If the Rust developers insist on choosing overflow operators as the One True Way To Do Math, well, that's your prerogative. I will probably still choose Rust over Swift. But then I feel like Rust might be missing out on the free lunch I expect Swift to provide, which is sad if that's the way the cookie crumbles...</div>

<span class="HOEnZb"><font color="#888888">

<div><br></div></font></span></div><span class="HOEnZb"><font color="#888888">-- <br>Tony Arcieri<br>
</font></span></div></div>
<br>_______________________________________________<br>
Rust-dev mailing list<br>
<a href="mailto:Rust-dev@mozilla.org">Rust-dev@mozilla.org</a><br>
<a href="https://mail.mozilla.org/listinfo/rust-dev" target="_blank">https://mail.mozilla.org/listinfo/rust-dev</a><br>
<br></blockquote></div><br></div>