<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">So maybe just eliminating the commas is enough, if possible I would like to avoid using parenthesis. I am not sure the rules, could do something like this<div class=""><br class=""></div><div class="">if possible would prefer not adding parens if possible (this is cleaner than the original proposal):</div><div class=""><br class=""></div><div class=""><div class=""><font face="Monaco" class="">let a = sel -&gt;&gt;&nbsp;</font><span class="" style="font-family: Monaco;">.Red: 1 .Green: 2 .Blue: 3</span></div></div><div class=""><div class=""><br class=""></div><div class="">if it is necessary then something like this:</div><div class=""><br class=""></div><div class=""><div class="" style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><div class=""><div class=""><div class=""><div class="" style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><div class=""><div class=""><div class="" style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><div class=""><div class=""><font face="Monaco" class="">let a = (sel -&gt;&gt;&nbsp;</font><span class="" style="font-family: Monaco;">.Red: 1, .Green: 2, .Blue: 3)</span></div><div class=""><span class="" style="font-family: Monaco;"><br class=""></span></div><div class=""><span class="" style="font-family: Monaco;">or&nbsp;</span></div><div class=""><span class="" style="font-family: Monaco;"><br class=""></span></div><div class=""><span class="" style="font-family: Monaco;">let a = (sel -&gt;&gt;&nbsp;.Red: 1 .Green: 2 .Blue: 3)</span></div><div class=""><span class="" style="font-family: Monaco;"><br class=""></span></div><div class=""><span class="" style="font-family: Monaco;">or&nbsp;</span></div><div class=""><br class=""></div></div></div></div></div></div></div></div></div></div><div class=""><div class=""><font face="Monaco" class="">let a = sel -&gt;(</font><span class="" style="font-family: Monaco;">.Red: 1, .Green: 2, .Blue: 3)</span></div><div class=""><span class="" style="font-family: Monaco;"><br class=""></span></div><div class=""><font face="Monaco" class="">So essentially it is a multiplexer.&nbsp;</font></div><div class=""><font face="Monaco" class=""><br class=""></font></div><div class=""><font face="Monaco" class="">- Paul</font></div><div class=""><font face="Monaco" class=""><br class=""></font></div><div><blockquote type="cite" class=""><div class="">On Dec 16, 2015, at 4:36 PM, Paul Ossenbruggen &lt;<a href="mailto:possen@gmail.com" class="">possen@gmail.com</a>&gt; wrote:</div><br class="Apple-interchange-newline"><div class=""><meta http-equiv="Content-Type" content="text/html charset=utf-8" class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">Hi Chris,<div class=""><br class=""></div><div class="">So, just trying to understand if you think this is a good direction to continue with or you think it is inherently flawed.&nbsp;</div><div class=""><br class=""></div><div class="">Can you give me an example of a function argument list or array separator that we would have a problem? I will see if I can address it.</div><div class=""><br class=""></div><div class="">Thanks for the feedback!</div><div class=""><br class=""></div><div class="">- Paul</div><div class=""><br class=""></div><div class=""><br class=""><div class=""><blockquote type="cite" class=""><div class="">On Dec 16, 2015, at 3:14 PM, Chris Lattner &lt;<a href="mailto:clattner@apple.com" class="">clattner@apple.com</a>&gt; wrote:</div><br class="Apple-interchange-newline"><div class=""><meta http-equiv="Content-Type" content="text/html charset=utf-8" class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">On Dec 16, 2015, at 2:56 PM, Paul Ossenbruggen via swift-evolution &lt;<a href="mailto:swift-evolution@swift.org" class="">swift-evolution@swift.org</a>&gt; wrote:<br class=""><div class=""><blockquote type="cite" class="">I believe it also addresses the issues that Chris mentioned.&nbsp;<br class=""><div class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div class=""><div class=""><br class=""></div><div class="">to select from a boolean, a or b:</div><div class=""><font face="Monaco" class="">let a = sel -&gt;&gt; true, false</font></div><div class=""><br class=""></div><div class="">to select from an enum values as in a switch:</div><div class=""><br class=""></div><div class=""><font face="Monaco" class="">let a = sel -&gt;&gt;&nbsp;</font><span style="font-family: Monaco;" class="">.Red: 1, .Green: 2, .Blue: 3&nbsp;</span></div><div class=""><font face="Monaco" class="">let b = sel -&gt;&gt; .Red: 1, .Green: 2, .Blue: 3, default: 4</font></div><div class=""><font face="Monaco" class="">let c = sel -&gt;&gt; case .Red: 1, case .Green: 2, case .Blue: 3, default: 4</font></div><div class=""><font face="Monaco" class="">let d = sel -&gt;&gt; .Red: 1, (sel -&gt;&gt; .Sun: .Yellow, .Moon: .White, .Stars: .Twinkle), .Green: 2, .Blue: 3, default: 4</font></div></div><div class=""><span style="font-family: Monaco;" class="">let e = sel -&gt;&gt; cases: .Red: 1, case .Green: 2, case .Blue: 3, default: 4</span></div><div class=""><span style="font-family: Monaco;" class=""><br class=""></span></div><div class=""><b class="">Disadvantages:</b></div><div class="">• May be a slight improvement in readability. Operators have to be looked up if you are not familiar with them.&nbsp;</div><div class="">• New concept that will have to be learned and not present in most C like languages so needs to be learned.&nbsp;</div></div></div></blockquote><br class=""></div><div class="">This specific proposal has another problem. &nbsp;Since you’re using “,” you’ve introduced grammar problems. &nbsp;For example, you wouldn’t be able to use this operator in a function argument list or array literal, because the , would be parsed as part of the argument list separator.</div><div class=""><br class=""></div><div class="">-Chris</div><br class=""></div></div></blockquote></div><br class=""></div></div></div></blockquote></div><br class=""></div></div></div></body></html>