<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body><div>Every time I've tried to use a C-style for loop, I've ended up switching to a while loop because my iteration variable ended up having the wrong type (e.g. having an optional type when the value must be non-optional for the body to execute). The Postmates codebase contains no instances of C-style for loops in Swift.<br></div>
<div>&nbsp;</div>
<div>-Kevin Ballard<br></div>
<div>&nbsp;</div>
<div>On Thu, Dec 3, 2015, at 04:50 PM, Eric Chamberlain wrote:<br></div>
<blockquote type="cite"><div>We’ve developed a number of Swift apps for various clients over the past year and have not needed C style for loops either.<br></div>
<div><div>&nbsp;</div>
<div><div style="color:rgb(0, 0, 0);letter-spacing:normal;orphans:auto;text-align:start;text-indent:0px;text-transform:none;white-space:normal;widows:auto;word-spacing:0px;-webkit-text-stroke-width:0px;word-wrap:break-word;-webkit-line-break:after-white-space;"><div style="color:rgb(0, 0, 0);letter-spacing:normal;orphans:auto;text-align:start;text-indent:0px;text-transform:none;white-space:normal;widows:auto;word-spacing:0px;-webkit-text-stroke-width:0px;word-wrap:break-word;-webkit-line-break:after-white-space;"><div style="color:rgb(0, 0, 0);letter-spacing:normal;orphans:auto;text-align:start;text-indent:0px;text-transform:none;white-space:normal;widows:auto;word-spacing:0px;-webkit-text-stroke-width:0px;word-wrap:break-word;-webkit-line-break:after-white-space;"><div>&nbsp;</div>
<div style="word-wrap:break-word;-webkit-line-break:after-white-space;"><div><span class="colour" style="color:rgb(0, 0, 0)"><span class="font" style="font-family:Helvetica">--</span></span><br></div>
<div><div><span class="colour" style="color:rgb(0, 0, 0)"><span class="font" style="font-family:Helvetica"><span style="orphans:auto;widows:auto;">Eric Chamberlain, Lead Architect - iOS</span><br style="orphans:auto;widows:auto;">ArcTouch - App Development Studio<br><br></span></span></div>
<div style="font-family:Arial, Verdana, sans-serif;font-size:13px;orphans:auto;widows:auto;"><span class="colour" style="color:rgb(0, 0, 0)"><span class="font" style="font-family:Helvetica">Custom apps for world-class brands and the Fortune 500</span></span><br></div>
<div style="font-family:Arial, Verdana, sans-serif;font-size:13px;orphans:auto;widows:auto;"><span class="colour" style="color:rgb(0, 0, 0)"><span class="font" style="font-family:Helvetica"><a href="http://arctouch.com/work">arctouch.com/work</a> | <a href="http://arctouch.com/blog">arctouch.com/blog</a></span></span><br></div>
</div>
<div>&nbsp;</div>
</div>
<div>&nbsp;</div>
</div>
</div>
</div>
<div>&nbsp;</div>
</div>
<div>&nbsp;</div>
<div><blockquote type="cite"><div>On Dec 3, 2015, at 3:46 PM, Andy Matuschak &lt;<a href="mailto:andy@andymatuschak.org">andy@andymatuschak.org</a>&gt; wrote:<br></div>
<div>&nbsp;</div>
<div><div><div>Just checked; ditto Khan Academy.<br></div>
<div>&nbsp;</div>
<blockquote type="cite"><div>On Dec 3, 2015, at 3:43 PM, Keith Smiley &lt;<a href="mailto:keithbsmiley@gmail.com">keithbsmiley@gmail.com</a>&gt; wrote:<br></div>
<div>&nbsp;</div>
<div>For what it's worth we don't have a single C style for loop in the Lyft<br></div>
<div>codebase.<br></div>
<div>&nbsp;</div>
<div>--<br></div>
<div>Keith Smiley<br></div>
<div>&nbsp;</div>
<div>On 12/03, Douglas Gregor wrote:<br></div>
<blockquote type="cite"><div>&nbsp;</div>
<blockquote type="cite"><div>On Dec 3, 2015, at 3:32 PM, Erica Sadun &lt;<a href="mailto:erica@ericasadun.com">erica@ericasadun.com</a>&gt; wrote:<br></div>
<div>&nbsp;</div>
<div>Does Swift still needs C-style for loops with conditions and incrementers? <br></div>
<div>&nbsp;</div>
<div>&lt;Screen Shot 2015-12-03 at 4.30.15 PM.png&gt;<br></div>
<div>&nbsp;</div>
<div>More Swift-like construction is already available with for-in-statements and stride. <br></div>
<div>This would naturally starve the most common point for -- and ++ operators as well.<br></div>
</blockquote><div>&nbsp;</div>
<div>My intuition *completely* agrees that Swift no longer needs C-style for loops. We have richer, better-structured looping and functional algorithms. That said, one bit of data I’d like to see is how often C-style for loops are actually used in Swift. It’s something a quick crawl through Swift sources on GitHub could establish. If the feature feels anachronistic and is rarely used, it’s a good candidate for removal.<br></div>
<div>&nbsp;</div>
<div><span style="white-space:pre;"></span>- Doug<br></div>
<div>&nbsp;</div>
<div>&nbsp;</div>
</blockquote><div>&nbsp;</div>
<blockquote type="cite"><div>_______________________________________________<br></div>
<div>swift-evolution mailing list<br></div>
<div><a href="mailto:swift-evolution@swift.org">swift-evolution@swift.org</a><br></div>
<div>https://lists.swift.org/mailman/listinfo/swift-evolution<br></div>
</blockquote><div>&nbsp;</div>
<div>_______________________________________________<br></div>
<div>swift-evolution mailing list<br></div>
<div><a href="mailto:swift-evolution@swift.org">swift-evolution@swift.org</a><br></div>
<div>https://lists.swift.org/mailman/listinfo/swift-evolution<br></div>
</blockquote><div>&nbsp;</div>
<div>_______________________________________________<br></div>
<div>swift-evolution mailing list<br></div>
<div><a href="mailto:swift-evolution@swift.org">swift-evolution@swift.org</a><br></div>
<div>https://lists.swift.org/mailman/listinfo/swift-evolution<br></div>
</div>
</div>
</blockquote></div>
</div>
<div><img style="height:1px !important;width:1px !important;border-top-width:0px !important;border-right-width:0px !important;border-bottom-width:0px !important;border-left-width:0px !important;margin-top:0px !important;margin-bottom:0px !important;margin-right:0px !important;margin-left:0px !important;padding-top:0px !important;padding-bottom:0px !important;padding-right:0px !important;padding-left:0px !important;" border="0" height="1" width="1" alt="" src="https://www.fastmailusercontent.com/proxy/dca1ecdeb84da27a75d46042193ae1c55aedbe306ac5c06d2c243f6c4f967414/8647470737a3f2f25723030323431303e23647e23756e64676279646e2e65647f27766f2f60756e6f35707e6d3148765176786c673171614a7d2236454230345272776e43647e6b47594365553a6c4d625e626d6647707158383f43696d2236485567343159536b4443725f666a4a66655969657e635a7854407575786f6937755a67494d223240744d223242346a4440345238705771614f4075524253467944755a473634744153396d22324949455c4a726754636732487f48397656375845584c405b6946337c413f4a765c41323b4837727c48746835697248467d456a527a483d414b47496050596a736751693c423243544975675d6172545a5641744b6053615e4a6d6479557356714d23344d23344/open"><br></div>
<div><u>_______________________________________________</u><br></div>
<div>swift-evolution mailing list<br></div>
<div><a href="mailto:swift-evolution@swift.org">swift-evolution@swift.org</a><br></div>
<div><a href="https://lists.swift.org/mailman/listinfo/swift-evolution">https://lists.swift.org/mailman/listinfo/swift-evolution</a><br></div>
</blockquote><div>&nbsp;</div>
</body>
</html>