<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div><blockquote type="cite" class=""><div class="">On May 8, 2017, at 12:09 AM, Xiaodi Wu &lt;<a href="mailto:xiaodi.wu@gmail.com" class="">xiaodi.wu@gmail.com</a>&gt; wrote:</div><br class="Apple-interchange-newline"><div class=""><div class="gmail_extra" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px;">Highly disagree. Consistency teaches us that variables can come after a colon.</div></div></blockquote><br class=""></div><div>But not normally in a declaration.</div><div><br class=""></div><div><blockquote type="cite" class=""><div class="">On May 8, 2017, at 12:28 AM, Xiaodi Wu &lt;<a href="mailto:xiaodi.wu@gmail.com" class="">xiaodi.wu@gmail.com</a>&gt; wrote:</div><br class="Apple-interchange-newline"><div class=""><span class="" style="float: none; display: inline !important;">Yes, Robert came up with a very clever puzzle. I'll bet you there are *plenty* of neat puzzles that you can come up with if you start naming your variables `Int` and `Double`.</span></div></blockquote><br class=""></div><div>Sure, but how many of them look *so much* like a declaration that, even knowing there's a puzzle, you still don't guess what's going on? Because that was my experience with his "puzzle".</div><div><br class=""></div><div>I know that Swift pattern matching is based on the idea that the pattern looks like the code used to construct the value it matches. But in the case of capturing values from labeled paren lists, I think it leads to deeply confusing code. We already knew about the weirdness of `as` in pattern matches, but this is even worse.</div><div><br class=""></div><div>I think we ought to reconsider what we're doing in this area, and perhaps move more towards a syntax that echoes declaration rather than use. When a piece of syntax *really* looks like it does A, even to experienced users, but it actually does B, that's a sign that it's the wrong syntax.</div><div><br class=""></div><div class="">
<span class="Apple-style-span" style="border-collapse: separate; font-variant-ligatures: normal; font-variant-east-asian: normal; font-variant-position: normal; line-height: normal; border-spacing: 0px;"><div class=""><div style="font-size: 12px; " class="">--&nbsp;</div><div style="font-size: 12px; " class="">Brent Royal-Gordon</div><div style="font-size: 12px; " class="">Architechies</div></div></span>

</div>
<br class=""></body></html>