<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="">Yes but that is a bit different. Spaces can be used for clarity or breaking up a chain into multiple lines maybe. But, the space is not really part of the key path. I would expect the key path to be typed in without spaces when using the special syntax.<div class=""><br class=""></div><div class=""><br class=""><div><blockquote type="cite" class=""><div class="">On Apr 6, 2017, at 12:45 PM, Ben Rimmington <<a href="mailto:me@benrimmington.com" class="">me@benrimmington.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><meta http-equiv="Content-Type" content="text/html charset=us-ascii" class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><br class=""><div class=""><blockquote type="cite" class=""><div class="">On 6 Apr 2017, at 16:29, Ricardo Parada via swift-evolution <<a href="mailto:swift-evolution@swift.org" class="">swift-evolution@swift.org</a>> 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). 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 class=""><br class=""></div><div class=""><div class="">Key paths can (probably) have spaces:</div><div class=""><br class=""></div><div class=""><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 class=""><font face="Menlo" class=""><span class="Apple-tab-span" style="white-space:pre">        </span> 1> Double.nan.isNaN</font></div><div class=""><font face="Menlo" class=""><span class="Apple-tab-span" style="white-space:pre">        </span>$R0: Bool = true</font></div><div class=""><font face="Menlo" class=""><span class="Apple-tab-span" style="white-space:pre">        </span> 2> Double . nan . isNaN</font></div><div class=""><font face="Menlo" class=""><span class="Apple-tab-span" style="white-space:pre">        </span>$R1: Bool = true</font></div><div class=""><font face="Menlo" class=""><span class="Apple-tab-span" style="white-space:pre">        </span> 3> Double .nan .isNaN</font></div><div class=""><font face="Menlo" class=""><span class="Apple-tab-span" style="white-space:pre">        </span>$R2: Bool = true</font></div><div class=""><font face="Menlo" class=""><span class="Apple-tab-span" style="white-space:pre">        </span> 4> Double. nan. isNaN</font></div><div class=""><font face="Menlo" class=""><span class="Apple-tab-span" style="white-space:pre">        </span>error: extraneous whitespace after '.' is not permitted</font></div><div class=""><font face="Menlo" class=""><span class="Apple-tab-span" style="white-space:pre">        </span>Double. nan. isNaN</font></div><div class=""><font face="Menlo" class=""><span class="Apple-tab-span" style="white-space:pre">        </span> ^~</font></div><div class=""><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;"> let isPuppyPredicate = '<font class="" color="#980096">Pet.type</font> == .dog && <font class="" color="#980096">'Pet.age</font> < 12</font></div></div><div class=""><font class="" face="Monaco" style="background-color: rgba(255, 255, 255, 0); font-size: 12px;"> 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;"> == .dog && </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);"> < 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;"> let isPuppyPredicate = \<font class="" color="#980096">Pet.type</font> == .dog && \<font class="" color="#980096">Pet.age</font> < 12</font></div></div><div class=""><font class="" face="Monaco" style="background-color: rgba(255, 255, 255, 0); font-size: 12px;"> 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;"> == .dog && \</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);"> < 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=""></div></div></blockquote></div><br class=""></div></body></html>