<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"></head><body dir="auto"><div><br></div><div>On Oct 27, 2016, at 08:09, Haravikk &lt;<a href="mailto:swift-evolution@haravikk.me">swift-evolution@haravikk.me</a>&gt; wrote:<br><br></div><blockquote type="cite"><div><meta http-equiv="Content-Type" content="text/html charset=utf-8"><br class=""><div><blockquote type="cite" class=""><div class="">On 27 Oct 2016, at 13:31, David Sweeris 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=""><meta http-equiv="content-type" content="text/html; charset=utf-8" class=""><div dir="auto" class=""><div class=""><br class=""></div><div class="">On Oct 26, 2016, at 11:41, Chris Lattner via swift-evolution &lt;<a href="mailto:swift-evolution@swift.org" class="">swift-evolution@swift.org</a>&gt; wrote:<br class=""><br class=""></div><blockquote type="cite" class=""><div class=""><span class="">On Oct 26, 2016, at 1:11 AM, alessandro aresta &lt;<a href="mailto:performerstone@gmail.com" class="">performerstone@gmail.com</a>&gt; wrote:</span><br class=""><blockquote type="cite" class=""><span class="">Ensure is more comprehensible, guard is for sure "always" been there in older languages... could it be kind of aliased somehow?</span><br class=""></blockquote><span class=""></span><br class=""><span class="">No, we don’t introduce needless aliases for keywords like this.</span><br class=""></div></blockquote><br class=""><div class="">What about allowing internal non-type aliases?</div><div class=""><div class="">&nbsp; &nbsp; alias ensure = guard //can't be public</div>I know it's kinda encroaching on "macro" territory, but can't we already do simple text substitutions by importing a #define from C? Would allowing non-type aliases really be any different?</div><div class=""><br class=""></div><div class="">It'd address the concerns raised by I think nearly all&nbsp;of the "term-of-art" vs "term-of-English" proposals. Prohibiting aliases from being declared as `public` would <i class="">guard</i> the language's namespace, and <i class="">ensure</i> that it doesn't get polluted with every library author's favorite alternate spelling(s).</div></div></div></blockquote><br class=""></div><div>This would just risk more confusion I think when mixing and matching code that uses one or the other.</div></div></blockquote><br><div>You could make that argument about any code that "wraps" or duplicates stdlib/language behavior. That doesn't mean you shouldn't be able to use it. I'm not in front of my computer, so I can't double-check, but I'm pretty sure you can already put "#define ensure guard" in a C file and import it... This would just make the syntax nicer.</div><div><br></div><div>Come to think of it, that means this would be out of scope for phase 1.</div><div><br></div><div>- Dave Sweeris</div></body></html>