<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Thu, Oct 20, 2016 at 8:08 AM, Erica Sadun <span dir="ltr">&lt;<a href="mailto:erica@ericasadun.com" target="_blank">erica@ericasadun.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div style="word-wrap:break-word"><span class="gmail-"><div>I really liked Jonathan&#39;s suggestion that removed the distinction between operators and identifiers entirely. You could mark a one-argument function as postfix or prefix, and a two-argument function as infix and use them as a kind of pseudo keyword. </div></span></div></blockquote><div><br></div><div>Please excuse me if I booger the syntax here, but here is what this would look like:</div><div><br></div></div></div><blockquote style="margin:0 0 0 40px;border:none;padding:0px"><div class="gmail_extra"><div class="gmail_quote"><div>// Bind + as a function name in the usual way:</div></div></div><div class="gmail_extra"><div class="gmail_quote"><div>func +(a, b) -&gt; { ... }  </div></div></div><div class="gmail_extra"><div class="gmail_quote"><div><br></div></div></div><div class="gmail_extra"><div class="gmail_quote"><div>// Say we are treating + as a quasi-keyword with the given precedence.</div></div></div><div class="gmail_extra"><div class="gmail_quote"><div>// Requires that + be bound (before or after) as a two argument function</div><div>if infix, or a one argument function if prefix/postfix:</div></div></div><div class="gmail_extra"><div class="gmail_quote"><div>infix operator + : TheUsualPrecedevnce</div><div><br></div></div></div></blockquote><blockquote style="margin:0 0 0 40px;border:none;padding:0px"><div class="gmail_extra"><div class="gmail_quote"><div>// Parenthesizing a quasi-keyword lets you use it as an identifier:</div></div></div></blockquote><blockquote style="margin:0 0 0 40px;border:none;padding:0px"><div class="gmail_extra"><div class="gmail_quote"><div>+  // is an operator </div></div></div></blockquote><blockquote style="margin:0 0 0 40px;border:none;padding:0px"><div class="gmail_extra"><div class="gmail_quote"><div>(+) // is a use-occurrence of the function named +</div></div></div></blockquote><div class="gmail_extra"><div class="gmail_quote"><div><br></div><div>I understand why collapsing the two may seem appealing, but my personal opinion is keep separate things separate.</div><div><br></div><div>Even if the eventual consensus is to collapse them, let&#39;s first discuss them as separate things so we can understand the two things that are being said.</div><div><br></div><div><br></div><div>Jonathan</div></div></div></div>