<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=""><div class="">I appreciate your support but looks like this proposal is going nowhere. This proposal affects fundamental habits that are very hard to argue with.</div><div class="">Never the less I will keep using this property in my code because my team is okay with it.</div><div class=""><br class=""></div><div class="">Thanks,</div><div class="">Anton Mironov</div><div class=""><br class=""></div><div><blockquote type="cite" class=""><div class="">6 черв. 2016 р. о 21:42 Thorsten Seitz &lt;<a href="mailto:tseitz42@icloud.com" class="">tseitz42@icloud.com</a>&gt; написав(ла):</div><br class="Apple-interchange-newline"><div class=""><meta http-equiv="content-type" content="text/html; charset=utf-8" class=""><div dir="auto" class=""><div class=""></div><div class="">That's just the way it was done in Smalltalk. Very readable IMHO as I'm not a fan of `!` either for the reasons you cited.</div><div class=""><br class=""></div><div class="">&nbsp;-Thorsten&nbsp;</div><div class=""><br class="">Am 21.05.2016 um 16:50 schrieb Антон Миронов via swift-evolution &lt;<a href="mailto:swift-evolution@swift.org" class="">swift-evolution@swift.org</a>&gt;:<br class=""><br class=""></div><blockquote type="cite" class=""><div class="">I found negation operator (!) the least detectable among the code. So I’ve decided to add property “not” to BooleanType (Swift 2.2) or Boolean on 3.0 with extension:<div class=""><br class=""></div><div class="">extension BooleanType {</div><div class=""><span class="Apple-tab-span" style="white-space:pre">        </span>var not: Bool { return !self.boolValue }</div><div class="">}<br class=""><div class=""><div class=""><br class=""></div><div class="">This is code with negation operator:</div><div class=""><span class="Apple-tab-span" style="white-space:pre">        </span>return !self.lanes[position.y][currentLaneRange].contains(.Gap)</div></div></div><div class=""><div class=""><div class=""><br class=""></div><div class="">As I sad before negation operation is hard to spot. Moreover at first it looks like I’m trying to negate self for some reason.</div><div class=""><br class=""></div><div class="">This is code with “not” property:</div><div class=""><span class="Apple-tab-span" style="white-space:pre">        </span>return self.lanes[position.y][currentLaneRange].contains(.Gap).not</div></div></div><blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;" class=""><div class=""><br class=""></div></blockquote><div class=""><div class="">Now it is easy to spot the statement I am actually getting negation of.</div><div class="">On my experience negation operator can occasionally be missed while reading code. This happens less often with “not” property. So I’m proposing to add this property to standard library and prefer it in most cases.</div><div class=""><br class=""></div><div class="">Thanks,</div><div class="">Anton Mironov</div></div><div class=""><br class=""></div></div></blockquote><blockquote type="cite" class=""><div class=""><span class="">_______________________________________________</span><br class=""><span class="">swift-evolution mailing list</span><br class=""><span class=""><a href="mailto:swift-evolution@swift.org" class="">swift-evolution@swift.org</a></span><br class=""><span class=""><a href="https://lists.swift.org/mailman/listinfo/swift-evolution" class="">https://lists.swift.org/mailman/listinfo/swift-evolution</a></span><br class=""></div></blockquote></div></div></blockquote></div><br class=""></body></html>