<div dir="ltr"><div><div><div><div>As long as you don&#39;t impose to have at list a space between operators and identifiers you need to be able to split something like<br><br></div>a+b into an identifer called &quot;a&quot; followed by an operator &quot;+&quot; itself followed by an identifier &quot;b&quot;<br><br></div>In principle we could think of using a way to delimiter an operator name we could have very expressive operator name. Imagine for instance using \(relativelyFreeOperatorName) outside a string literal defined as a valid operator, then you could write<br><br></div>a\(relativelyFreeOperatorName)b<br><br>without any problem. This is actually quite appealing to me, knowing that at some point, if the operator name becomes very long it seems relatively pointless to me to define it as an operator and not simply as a function.<br><br></div>Nicolas<br><div><br><div><br><div><br></div></div></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Feb 7, 2017 at 3:23 PM, Derrick Ho via swift-evolution <span dir="ltr">&lt;<a href="mailto:swift-evolution@swift.org" target="_blank">swift-evolution@swift.org</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I have found it strange that operator characters are the only ones that may be used as operators.  Sometimes Characters that look like operators are not.<br><br>Why does there need to be a divide?<br><br>Why can&#39;t an arbitrary set of characters become operator-ized?<br><br>For example some people would like &quot;and&quot; to become a binary operator and use it instead of &quot;&amp;&amp;&quot;<br><br>If we had the ability to define an operator out of any set of characters I think it would make the swift language a lot better.<br><br>Is there a technical reason why?<div class="HOEnZb"><div class="h5"><br><br><br><div class="gmail_quote"><div dir="ltr">On Tue, Feb 7, 2017 at 2:36 AM David Hart via swift-evolution &lt;<a href="mailto:swift-evolution@swift.org" target="_blank">swift-evolution@swift.org</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="auto" class="m_-5761327034860509720gmail_msg"><div class="m_-5761327034860509720gmail_msg">And the overjoyed operator: \o/</div></div><div dir="auto" class="m_-5761327034860509720gmail_msg"><div class="m_-5761327034860509720gmail_msg"><br class="m_-5761327034860509720gmail_msg">On 7 Feb 2017, at 08:04, Slava Pestov via swift-evolution &lt;<a href="mailto:swift-evolution@swift.org" class="m_-5761327034860509720gmail_msg" target="_blank">swift-evolution@swift.org</a>&gt; wrote:<br class="m_-5761327034860509720gmail_msg"><br class="m_-5761327034860509720gmail_msg"></div><blockquote type="cite" class="m_-5761327034860509720gmail_msg"><div class="m_-5761327034860509720gmail_msg">I really have nothing to add to this discussion, except for this fun fact: apparently, the backslash was added to ASCII so you could write /\ and \/ operators: <a href="http://www.bobbemer.com/BACSLASH.HTM" class="m_-5761327034860509720gmail_msg" target="_blank">http://www.<wbr>bobbemer.com/BACSLASH.HTM</a><div class="m_-5761327034860509720gmail_msg"><br class="m_-5761327034860509720gmail_msg"></div><div class="m_-5761327034860509720gmail_msg">Slava</div><div class="m_-5761327034860509720gmail_msg"><br class="m_-5761327034860509720gmail_msg"><div class="m_-5761327034860509720gmail_msg"><blockquote type="cite" class="m_-5761327034860509720gmail_msg"><div class="m_-5761327034860509720gmail_msg">On Feb 5, 2017, at 7:29 AM, Nicolas Fezans via swift-evolution &lt;<a href="mailto:swift-evolution@swift.org" class="m_-5761327034860509720gmail_msg" target="_blank">swift-evolution@swift.org</a>&gt; wrote:</div><br class="m_-5761327034860509720m_-3195385432858643814Apple-interchange-newline m_-5761327034860509720gmail_msg"><div class="m_-5761327034860509720gmail_msg"><div dir="ltr" class="m_-5761327034860509720gmail_msg">Dear all,<div class="m_-5761327034860509720gmail_msg"><br class="m_-5761327034860509720gmail_msg"></div><div class="m_-5761327034860509720gmail_msg">This is a rather simple proposal to add &#39;\&#39; (backslash character) as a valid operator-head in the swift grammar.</div><div class="m_-5761327034860509720gmail_msg"><br class="m_-5761327034860509720gmail_msg"></div><div class="m_-5761327034860509720gmail_msg">One argument for it, is that there exist a backslash operator in the MATLAB/Scilab/Octave languages. In this languages A\B solves the linear system A*X = B for X (or the least square problem associated to it if the system of equations is overdetermined). I am doing some numerical computation in Swift and it would be nice to be able to declare the same operator name for this functionality.</div><div class="m_-5761327034860509720gmail_msg"><br class="m_-5761327034860509720gmail_msg"></div><div class="m_-5761327034860509720gmail_msg">I might have missed some arguments for not adding them, but I seems to me that until now the \ character is only used inside of string literals. If that is the case, both uses should never generate a conflict or be ambiguous, isn&#39;t it? (String literals keep their interpretation of \ and \ used otherwise within the swift code will be interpreted as an operator or as the beginning of an operator)</div><div class="m_-5761327034860509720gmail_msg"><br class="m_-5761327034860509720gmail_msg"></div><div class="m_-5761327034860509720gmail_msg">I am curious to see what will be the feedback on this.</div><div class="m_-5761327034860509720gmail_msg"><br class="m_-5761327034860509720gmail_msg"></div><div class="m_-5761327034860509720gmail_msg">Nicolas</div></div>
______________________________<wbr>_________________<br class="m_-5761327034860509720gmail_msg">swift-evolution mailing list<br class="m_-5761327034860509720gmail_msg"><a href="mailto:swift-evolution@swift.org" class="m_-5761327034860509720gmail_msg" target="_blank">swift-evolution@swift.org</a><br class="m_-5761327034860509720gmail_msg"><a href="https://lists.swift.org/mailman/listinfo/swift-evolution" class="m_-5761327034860509720gmail_msg" target="_blank">https://lists.swift.org/<wbr>mailman/listinfo/swift-<wbr>evolution</a><br class="m_-5761327034860509720gmail_msg"></div></blockquote></div><br class="m_-5761327034860509720gmail_msg"></div></div></blockquote><blockquote type="cite" class="m_-5761327034860509720gmail_msg"><div class="m_-5761327034860509720gmail_msg"><span class="m_-5761327034860509720gmail_msg">______________________________<wbr>_________________</span><br class="m_-5761327034860509720gmail_msg"><span class="m_-5761327034860509720gmail_msg">swift-evolution mailing list</span><br class="m_-5761327034860509720gmail_msg"><span class="m_-5761327034860509720gmail_msg"><a href="mailto:swift-evolution@swift.org" class="m_-5761327034860509720gmail_msg" target="_blank">swift-evolution@swift.org</a></span><br class="m_-5761327034860509720gmail_msg"><span class="m_-5761327034860509720gmail_msg"><a href="https://lists.swift.org/mailman/listinfo/swift-evolution" class="m_-5761327034860509720gmail_msg" target="_blank">https://lists.swift.org/<wbr>mailman/listinfo/swift-<wbr>evolution</a></span><br class="m_-5761327034860509720gmail_msg"></div></blockquote></div>______________________________<wbr>_________________<br class="m_-5761327034860509720gmail_msg">
swift-evolution mailing list<br class="m_-5761327034860509720gmail_msg">
<a href="mailto:swift-evolution@swift.org" class="m_-5761327034860509720gmail_msg" target="_blank">swift-evolution@swift.org</a><br class="m_-5761327034860509720gmail_msg">
<a href="https://lists.swift.org/mailman/listinfo/swift-evolution" rel="noreferrer" class="m_-5761327034860509720gmail_msg" target="_blank">https://lists.swift.org/<wbr>mailman/listinfo/swift-<wbr>evolution</a><br class="m_-5761327034860509720gmail_msg">
</blockquote></div>
</div></div><br>______________________________<wbr>_________________<br>
swift-evolution mailing list<br>
<a href="mailto:swift-evolution@swift.org">swift-evolution@swift.org</a><br>
<a href="https://lists.swift.org/mailman/listinfo/swift-evolution" rel="noreferrer" target="_blank">https://lists.swift.org/<wbr>mailman/listinfo/swift-<wbr>evolution</a><br>
<br></blockquote></div><br></div>