<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=""><br class=""><div><blockquote type="cite" class=""><div class="">On 6 Apr 2017, at 16:29, Ricardo Parada via swift-evolution &lt;<a href="mailto:swift-evolution@swift.org" class="">swift-evolution@swift.org</a>&gt; wrote:</div><br class="Apple-interchange-newline"><div class=""><span style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; 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; float: none; display: inline !important;" class="">Another thought on the use of single quotes (an possibly the proposed escape character). &nbsp;Do you think the closing single quote could be made optional since key paths cannot have spaces? Or would that be confusing for beginners?</span></div></blockquote><div><br class=""></div><div><div>Key paths can (probably) have spaces:</div><div><br class=""></div><div><font face="Menlo" class=""><span class="Apple-tab-span" style="white-space: pre;">        </span>Welcome to Apple Swift version 3.1 (swiftlang-802.0.48 clang-802.0.48).</font></div><div><font face="Menlo" class=""><span class="Apple-tab-span" style="white-space:pre">        </span> &nbsp;1&gt; Double.nan.isNaN</font></div><div><font face="Menlo" class=""><span class="Apple-tab-span" style="white-space:pre">        </span>$R0: Bool = true</font></div><div><font face="Menlo" class=""><span class="Apple-tab-span" style="white-space:pre">        </span> &nbsp;2&gt; Double . nan . isNaN</font></div><div><font face="Menlo" class=""><span class="Apple-tab-span" style="white-space:pre">        </span>$R1: Bool = true</font></div><div><font face="Menlo" class=""><span class="Apple-tab-span" style="white-space:pre">        </span> &nbsp;3&gt; Double .nan .isNaN</font></div><div><font face="Menlo" class=""><span class="Apple-tab-span" style="white-space:pre">        </span>$R2: Bool = true</font></div><div><font face="Menlo" class=""><span class="Apple-tab-span" style="white-space:pre">        </span> &nbsp;4&gt; Double. nan. isNaN</font></div><div><font face="Menlo" class=""><span class="Apple-tab-span" style="white-space:pre">        </span>error: extraneous whitespace after '.' is not permitted</font></div><div><font face="Menlo" class=""><span class="Apple-tab-span" style="white-space:pre">        </span>Double. nan. isNaN</font></div><div><font face="Menlo" class=""><span class="Apple-tab-span" style="white-space:pre">        </span> &nbsp; &nbsp; &nbsp;^~</font></div><div><br class=""></div></div><blockquote type="cite" class=""><div class="" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; 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;">For example, these two would be equivalent:</div><div class="" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; 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;"><br class=""></div><div class="" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; 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;"><div class=""><div class=""><font class="" face="Monaco" style="background-color: rgba(255, 255, 255, 0); font-size: 12px;">&nbsp; &nbsp;let isPuppyPredicate = '<font class="" color="#980096">Pet.type</font>&nbsp;== .dog &amp;&amp;&nbsp;<font class="" color="#980096">'Pet.age</font>&nbsp;&lt; 12</font></div></div><div class=""><font class="" face="Monaco" style="background-color: rgba(255, 255, 255, 0); font-size: 12px;">&nbsp; &nbsp;let isPuppyPredicate = '<font class="" color="#980096">Pet.type</font></font><span class="" style="font-family: Monaco; font-size: 12px;">'</span><span class="" style="font-size: 12px; background-color: rgba(255, 255, 255, 0); font-family: Monaco;">&nbsp;== .dog &amp;&amp;&nbsp;</span><font class="" color="#980096" style="font-size: 12px; background-color: rgba(255, 255, 255, 0); font-family: Monaco;">'Pet.age</font><span class="" style="font-family: Monaco; font-size: 12px;">'</span><span class="" style="font-family: Monaco; font-size: 12px; background-color: rgba(255, 255, 255, 0);">&nbsp;&lt; 12</span></div></div><div class="" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; 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;"><br class=""></div><div class="" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; 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;"><div class="">Or this:</div><div class=""><br class=""></div><div class=""><div class=""><div class=""><font class="" face="Monaco" style="background-color: rgba(255, 255, 255, 0); font-size: 12px;">&nbsp; &nbsp;let isPuppyPredicate = \<font class="" color="#980096">Pet.type</font>&nbsp;== .dog &amp;&amp; \<font class="" color="#980096">Pet.age</font>&nbsp;&lt; 12</font></div></div><div class=""><font class="" face="Monaco" style="background-color: rgba(255, 255, 255, 0); font-size: 12px;">&nbsp; &nbsp;let isPuppyPredicate = \<font class="" color="#980096">Pet.type\</font></font><span class="" style="font-size: 12px; background-color: rgba(255, 255, 255, 0); font-family: Monaco;">&nbsp;== .dog &amp;&amp; \</span><font class="" color="#980096" style="font-size: 12px; background-color: rgba(255, 255, 255, 0); font-family: Monaco;">Pet.age\</font><span class="" style="font-family: Monaco; font-size: 12px; background-color: rgba(255, 255, 255, 0);">&nbsp;&lt; 12</span></div></div><div class=""><br class=""></div></div><div class="" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; 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;">You would use the closing character normally when wanting to invoke a method on the key path object.</div><div class="" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; 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;"><br class=""></div><div class="" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; 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;">Any thoughts?</div></blockquote></div><br class=""></body></html>