<div dir="ltr">Hello,<div><br></div><div>This is a Idea I got from Objetive-C, where nil is evaluate no false, this feature can keep the code clean. For example:</div><div><br></div><div><pre class="prettyprint notranslate prettyprinted" style="font-family:Menlo,Monaco,Consolas,&#39;Courier New&#39;,monospace;padding:5px;margin-top:0px;margin-bottom:10px;border-radius:0px;width:604px;line-height:16px;border:1px solid rgb(214,214,214);font-size:12px;overflow:auto;color:rgb(49,49,49);background-color:rgb(238,238,238)">if (![myList isEmpty]) { ... }</pre></div><div><div>Will evaluate true or false even if myList is nil.</div></div><div>I know that Swift is not Design to work like Objetive-C, but sometimes this make the code cleaner.  </div><div><br></div><div>Example:</div><div><pre class="prettyprint notranslate prettyprinted" style="font-family:Menlo,Monaco,Consolas,&#39;Courier New&#39;,monospace;padding:5px;margin-top:0px;margin-bottom:10px;border-radius:0px;width:604px;line-height:16px;border:1px solid rgb(214,214,214);font-size:12px;overflow:auto;color:rgb(49,49,49);background-color:rgb(238,238,238)">if !myList?.isEmpty { print(&quot;Ok&quot;) }</pre><p class="p1">This is much more cleaner and easy to read than:<br></p><pre class="prettyprint notranslate prettyprinted" style="font-family:Menlo,Monaco,Consolas,&#39;Courier New&#39;,monospace;padding:5px;margin-top:0px;margin-bottom:10px;border-radius:0px;width:604px;line-height:16px;border:1px solid rgb(214,214,214);font-size:12px;overflow:auto;color:rgb(49,49,49);background-color:rgb(238,238,238)">if !(myList != nill &amp;&amp; mylist!.isEmpty) { print(&quot;Ok&quot;) }</pre><p class="p1">Moreover the tip from the Xcode (when you type the  lead user to generate wrong code when you type this code :</p><pre class="prettyprint notranslate prettyprinted" style="font-family:Menlo,Monaco,Consolas,&#39;Courier New&#39;,monospace;padding:5px;margin-top:0px;margin-bottom:10px;border-radius:0px;width:604px;line-height:16px;border:1px solid rgb(214,214,214);font-size:12px;overflow:auto;color:rgb(49,49,49);background-color:rgb(238,238,238)">if !((myList?.isEmpty)) != nil { print(&quot;Ok&quot;) }</pre><p class="p1">As you can see the suggestion made by the Xcode will not work, because event if the list is empty the expression will return true.</p><p class="p1">My ideia is to use some special syntax that permit optional to be evaluate to boolean expression. Those syntax may be <a href="http://www.tutorialspoint.com/ruby/ruby_if_else.htm">like in ruby</a>. </p><p class="p1"><span class="s2"></span></p><pre class="prettyprint notranslate prettyprinted" style="font-family:Menlo,Monaco,Consolas,&#39;Courier New&#39;,monospace;padding:5px;margin-top:0px;margin-bottom:10px;border-radius:0px;width:604px;line-height:16px;border:1px solid rgb(214,214,214);font-size:12px;overflow:auto;color:rgb(49,49,49);background-color:rgb(238,238,238)"><span class="pln" style="box-sizing: border-box;">code </span><span class="kwd" style="color:rgb(0,0,136)">if</span><span class="pln" style="box-sizing: border-box;"> condition</span></pre><div>So the code from the example will be:</div><div><br></div><div><pre class="prettyprint notranslate prettyprinted" style="font-family:Menlo,Monaco,Consolas,&#39;Courier New&#39;,monospace;padding:5px;margin-top:0px;margin-bottom:10px;border-radius:0px;width:604px;line-height:16px;border:1px solid rgb(214,214,214);font-size:12px;overflow:auto;color:rgb(49,49,49);background-color:rgb(238,238,238)">print (&quot;Ok&quot;) if !myList?.isEmpty</pre></div><div>Or using the unless keyword:</div><div><br></div><div><pre class="prettyprint notranslate prettyprinted" style="font-family:Menlo,Monaco,Consolas,&#39;Courier New&#39;,monospace;padding:5px;margin-top:0px;margin-bottom:10px;border-radius:0px;width:604px;line-height:16px;border:1px solid rgb(214,214,214);font-size:12px;overflow:auto;color:rgb(49,49,49);background-color:rgb(238,238,238)">unless myList?.isEmpty print(&quot;not empty&quot;) else print &quot;empty&quot;</pre></div><div><br></div></div><div>I didn&#39;t spent much time thinking about the syntax keyword, because I want to know first if you will consider a great addition to the language, if so, we can work on details and a formal proposal.</div><div><br></div><div><br></div><div><br></div></div>