<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><br class=""><div><br class=""><blockquote type="cite" class=""><div class="">On Feb 19, 2019, at 3:27 AM, Michael Platings via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org" class="">llvm-dev@lists.llvm.org</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div class=""><blockquote type="cite" class="">FWIW, I suspect separating the transition of our acronyms from the transition<br class="">of identifiers with non-acronym words may be an effective way to chip away at<br class="">the transition cost... Definitely an area that people who really care about<br class="">this should look at carefully.<br class=""></blockquote><br class="">If it makes for an easier transition then I'd be happy to go with upper case acronyms and camelBack for non-acronyms. I've updated <a href="https://reviews.llvm.org/D57896" class="">https://reviews.llvm.org/D57896</a> accordingly.<br class=""></div></div></blockquote></div><br class=""><div class="">It isn’t clear to me that people are strongly in favor of upper case initialisms, it seems that people are opposed to changing TLI to “targetLibraryInfo”, which I can totally understand.</div><div class=""><br class=""></div><div class=""><a href="https://swift.org/documentation/api-design-guidelines/#general-conventions" class="">Communities that use these proposed conventions</a> already include guidelines like this:</div><div class=""><p id="follow-case-conventions" style="box-sizing: border-box; margin: 0px 0px 1em; padding: 0px; color: rgb(51, 51, 51); font-family: -apple-system, system-ui, "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif; font-size: 15px; font-variant-ligatures: normal; orphans: 2; widows: 2; background-color: rgb(255, 255, 255);" class=""></p><blockquote type="cite" class=""><p id="follow-case-conventions" style="box-sizing: border-box; margin: 0px 0px 1em; padding: 0px; color: rgb(51, 51, 51); font-family: -apple-system, system-ui, "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif; font-size: 15px; font-variant-ligatures: normal; orphans: 2; widows: 2; background-color: rgb(255, 255, 255);" class=""><strong style="box-sizing: border-box;" class="">Follow case conventions.</strong> Names of types and protocols are <code class="highlighter-rouge" style="box-sizing: border-box; font-size: 11px; white-space: nowrap; font-family: Menlo, Consolas, Monaco, "Courier New", monospace, serif; color: rgb(102, 102, 102); padding: 0px; margin: 0px; background-color: transparent;">UpperCamelCase</code>. Everything else is <code class="highlighter-rouge" style="box-sizing: border-box; font-size: 11px; white-space: nowrap; font-family: Menlo, Consolas, Monaco, "Courier New", monospace, serif; color: rgb(102, 102, 102); padding: 0px; margin: 0px; background-color: transparent;">lowerCamelCase</code>.</p><input type="checkbox" class="detail" style="margin: auto 0px 2em; padding: 0px; visibility: hidden; cursor: pointer; height: 0px; width: 698px; display: block; font-style: inherit; font-family: inherit; position: relative; top: -0.85rem; orphans: 2; widows: 2; font-size: 9px;"><div class="more" style="box-sizing: border-box; transition: opacity 0.5s ease 0s, max-height 0.5s ease 0s; visibility: visible; max-height: 1000rem; color: rgb(51, 51, 51); font-family: -apple-system, system-ui, "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif; font-size: 15px; font-variant-ligatures: normal; orphans: 2; widows: 2; background-color: rgb(255, 255, 255);"><p style="box-sizing: border-box; margin: 0px 0px 1em; padding: 0px;" class=""><a href="https://en.wikipedia.org/wiki/Acronym" style="box-sizing: border-box; color: rgb(119, 102, 204); text-decoration: none;" class="">Acronyms and initialisms</a> that commonly appear as all upper case in American English should be uniformly up- or down-cased according to case conventions:</p><div class="highlighter-rouge" style="box-sizing: border-box; margin-left: 13px;"><pre class="highlight" style="box-sizing: border-box; margin-top: 0.5em; margin-bottom: 1.5em; margin-left: 10px; padding: 4px 0px 2px 10px; font-size: 11px; line-height: 1.6em; border-left-width: 5px; border-left-style: solid; border-left-color: rgb(205, 233, 244); overflow: visible; font-family: Menlo, Consolas, Monaco, "Courier New", monospace, serif;"><code style="box-sizing: border-box; white-space: inherit; font-family: Menlo, Consolas, Monaco, "Courier New", monospace, serif;" class="">var <strong style="box-sizing: border-box;" class="">utf8</strong>Bytes: [<strong style="box-sizing: border-box;" class="">UTF8</strong>.CodeUnit]
var isRepresentableAs<strong style="box-sizing: border-box;" class="">ASCII</strong> = true
var user<strong style="box-sizing: border-box;" class="">SMTP</strong>Server: Secure<strong style="box-sizing: border-box;" class="">SMTP</strong>Server
</code></pre></div><p style="box-sizing: border-box; margin: 0px 0px 1em; padding: 0px;" class="">Other acronyms should be treated as ordinary words:</p><div class="highlighter-rouge" style="box-sizing: border-box; margin-left: 13px;"><pre class="highlight" style="box-sizing: border-box; margin-top: 0.5em; margin-bottom: 1.5em; margin-left: 10px; padding: 4px 0px 2px 10px; font-size: 11px; line-height: 1.6em; border-left-width: 5px; border-left-style: solid; border-left-color: rgb(205, 233, 244); overflow: visible; font-family: Menlo, Consolas, Monaco, "Courier New", monospace, serif;"><code style="box-sizing: border-box; white-space: inherit; font-family: Menlo, Consolas, Monaco, "Courier New", monospace, serif;" class="">var <strong style="box-sizing: border-box;" class="">radar</strong>Detector: <strong style="box-sizing: border-box;" class="">Radar</strong>Scanner
var enjoys<strong style="box-sizing: border-box;" class="">Scuba</strong>Diving = true</code></pre></div></div></blockquote></div><div class="">Among other nice things, this specifically means that things like “tli” are ok as is.</div><div class=""><br class=""></div><div class=""><br class=""></div><div class=""><br class=""></div><div class="">I think the significant point you raise is how to handle the transition.  I think that we can handle this in a soft way by saying something like “all new code should follow the conventions”, “old code shouldn’t be mass migrated”, “significant changes to old code can do local changes to improve adherence to convention”.  (or something like that).  This case is far from the only thing in LLVM that is inconsistent, so that seems like a reasonable global policy independent of the capitalization discussion.</div><div class=""><br class=""></div><div class="">-Chris</div><div class=""><br class=""></div></body></html>