<div dir="ltr">Dear Josiah,<br><br>Thank you for your email.<br><br><div class="gmail_quote">On Wed, Jul 23, 2008 at 7:11 PM, Josiah Carlson &lt;<a href="mailto:josiah.carlson@gmail.com">josiah.carlson@gmail.com</a>&gt; wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">What the heck does &#39;x = 4 $ 6&#39; mean in Python?&nbsp; Oh, that&#39;s right, it&#39;s<br>
a custom infix operator. &nbsp;But where is it defined? &nbsp;In the module? &nbsp;In<br>
some other module that is imported? &nbsp;Can I override or do some<br>
pre-processing to the arguments and pass it on to the previously<br>
defined $ operator? &nbsp;So many questions, none of which tell me what &#39;$&#39;<br>
does.<br>
</blockquote><div><br>My question is really what the history of this thing is and what sort of opposition there is to this idea, in the python community. From your email, I suspect that this conversation has already taken place.<br>
<br>I&#39;m not going to become a python developer/politician and try to push this, my job involves teaching and research in mathematics and the programming language is just a tool. If I want to &quot;put food on my family&quot; (in the words of a wise man), I can&#39;t really spend a whole lot of time on this mailing list debating this.<br>
<br>However, just for posterity (and I&#39;m not going to pursue the argument further than this), I&#39;ll say this. The problem of determining the meaning (or overridability or whatever) of x=4$6 is the same as the problem of determining the meaning of x=fooz(4,6). Since it&#39;s not a good argument against user-defined functions, I don&#39;t see it as a good argument against user-defined operators. Of course, obviously the LISP people have decided that fooz(4,6) (or rather, (fooz 4 6)) is okay, and 4$6 is not, so who am I to dispute that.<br>
&nbsp;</div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"> If you still think that X \ Y would honestly make Python a better</blockquote><div><br>
Well, I&#39;m not arguing for adding one more special-purpose operator, because probably the need for more operators will never end. If arbitrary operators were defined like ordinary functions, they could be brought in with the import numeric or whatever, and docstrings could be looked up, etc...<br>
&nbsp;</div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><br>
language, I would ask you if logix<br>
(<a href="http://www.livelogix.net/logix/intro.html" target="_blank">http://www.livelogix.net/logix/intro.html</a>) would suit you better. &nbsp;It<br>
seems to allow you to use arbitrary punctuation for operators.<br>
<font color="#888888"></font></blockquote><div><br>Thank you for the pointer. I have taken a look and it does look interesting, on first blush I would love to use that language. The main thing is that I worry about being out on the fringe, using a language that nobody uses, and which may get abandoned without warning (like Sun abandoned `self&#39;), or be buggier just because people don&#39;t use it... Although I love metaprogramming and I would use it if it were in python, I don&#39;t really need to go that far (arbitrary infix operators would suffice to me.)<br>
<br>Sincerely,<br></div></div><br>-- <br>Sébastien Loisel<br><br></div>