<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="">Hi all,<div class=""><br class=""></div><div class="">This is probably very minor, but I’m not sure the protocol name “BitwiseOperations” fits the Swift API Design Guidelines. Here’s what the guidelines have to say about protocol names:</div><div class=""><br class=""></div><div class=""><ul style="box-sizing: border-box; margin: 1em 0px; padding: 0px 0px 0px 40px; list-style-position: initial; list-style-image: initial; color: rgb(51, 51, 51); font-family: 'Helvetica Neue', Helvetica, Arial, Verdana, sans-serif; font-size: 18px;" class=""><li style="box-sizing: border-box; margin: 0px; padding: 0px;" class=""><p id="protocols-describing-what-is-should-read-as-nouns" style="box-sizing: border-box; margin: 0px 0px 1.5em; padding: 0px;" class=""><strong style="box-sizing: border-box;" class="">Protocols that describe <em style="box-sizing: border-box;" class="">what something is</em> should read as nouns</strong> (e.g. <code class="highlighter-rouge" style="box-sizing: border-box; font-size: 14px; white-space: nowrap; font-family: Menlo, Consolas, Monaco, 'Courier New', monospace, serif; color: rgb(0, 0, 0); padding: 3px 8px; border: 1px solid rgb(229, 229, 229); background-color: rgb(247, 247, 247);">Collection</code>).</p></li><li style="box-sizing: border-box; margin: 0px; padding: 0px;" class=""><p id="protocols-describing-capability-should-use-suffixes" style="box-sizing: border-box; margin: 0px 0px 1.5em; padding: 0px;" class=""><strong style="box-sizing: border-box;" class="">Protocols that describe a <em style="box-sizing: border-box;" class="">capability</em> should be named using the suffixes <code class="highlighter-rouge" style="box-sizing: border-box; font-size: 1em; font-weight: normal; white-space: pre-line; font-family: Menlo, Consolas, Monaco, 'Courier New', monospace, serif;">able</code>, <code class="highlighter-rouge" style="box-sizing: border-box; font-size: 1em; font-weight: normal; white-space: pre-line; font-family: Menlo, Consolas, Monaco, 'Courier New', monospace, serif;">ible</code>, or <code class="highlighter-rouge" style="box-sizing: border-box; font-size: 1em; font-weight: normal; white-space: pre-line; font-family: Menlo, Consolas, Monaco, 'Courier New', monospace, serif;">ing</code></strong> (e.g. <code class="highlighter-rouge" style="box-sizing: border-box; font-size: 14px; white-space: nowrap; font-family: Menlo, Consolas, Monaco, 'Courier New', monospace, serif; color: rgb(0, 0, 0); padding: 3px 8px; border: 1px solid rgb(229, 229, 229); background-color: rgb(247, 247, 247);">Equatable</code>, <code class="highlighter-rouge" style="box-sizing: border-box; font-size: 14px; white-space: nowrap; font-family: Menlo, Consolas, Monaco, 'Courier New', monospace, serif; color: rgb(0, 0, 0); padding: 3px 8px; border: 1px solid rgb(229, 229, 229); background-color: rgb(247, 247, 247);">ProgressReporting</code>).</p></li></ul><div class="">From these two, BitwiseOperations appears to be (attempting) to follow the first rule, yet “BitwiseOperations” doesn’t really describe <i class="">what </i>the type is, but rather that it can <i class="">do</i> bitwise operations. The documentation itself even describes the protocol as “a type that supports standard bitwise arithmetic operators."</div></div><div class=""><br class=""></div><div class="">I propose we rename it to “BitwiseOperable”, or something similar. Again, a small change, but if this were to ever happen, I think Swift 3 is the time.</div><div class=""><br class=""></div><div class="">Riley Testut</div></body></html>