Path: utzoo!censor!geac!torsqnt!jarvis.csri.toronto.edu!cs.utexas.edu!tut.cis.ohio-state.edu!purdue!mentor.cc.purdue.edu!l.cc.purdue.edu!cik From: cik@l.cc.purdue.edu (Herman Rubin) Newsgroups: comp.lang.misc Subject: Re: operator vs. function is a bogus distinction. Summary: I agree about the distinction, but not about the notation Message-ID: <1963@l.cc.purdue.edu> Date: 26 Feb 90 13:30:20 GMT References: <1944@l.cc.purdue.edu> <14243@lambda.UUCP> Organization: Purdue University Statistics Department Lines: 28 In article <14243@lambda.UUCP>, jlg@lambda.UUCP (Jim Giles) writes: > From article <1944@l.cc.purdue.edu>, by cik@l.cc.purdue.edu (Herman Rubin): ........................ | > Also, I see no more reason for a function call, or even function notation, | > for power than for sum. It is no more reasonable to require x = pow(y,z) | > than x = sum(y,z). > > I see your problem now. You are making the same mistake that C programmers > do. The original C specifications used the word 'operator' for all > functions which the compiler was expected to expand inline and it used the > word 'function' for all functions which were implemented as procedure > calls. This is a bogus distinction! The distinction you are trying to > make is between inline functions and external ones. This distinction > can be (and _should_ be) independent of the syntactic form which invokes > the function. I agree that there should be overloaded functions as well as overloaded operators, and that languages and compilers recognize this. But this still does not address the problem of notation. The use of infix notation, etc., is a well-establishd procedure in mathematics. I see no good reason why computer languages should not allow this, and allow this to be extensible and to even have user-defined dialects at this point. -- Herman Rubin, Dept. of Statistics, Purdue Univ., West Lafayette IN47907 Phone: (317)494-6054 hrubin@l.cc.purdue.edu (Internet, bitnet, UUCP)