From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 109fba,b87849933931bc93 X-Google-Attributes: gid109fba,public X-Google-Thread: fac41,b87849933931bc93 X-Google-Attributes: gidfac41,public X-Google-Thread: 103376,b87849933931bc93 X-Google-Attributes: gid103376,public X-Google-Thread: 114809,b87849933931bc93 X-Google-Attributes: gid114809,public X-Google-Thread: 1108a1,b87849933931bc93 X-Google-Attributes: gid1108a1,public From: Mike Klein Subject: Re: OO, C++, and something much better! Date: 1997/02/19 Message-ID: <330B9622.E00@alumni.caltech.edu>#1/1 X-Deja-AN: 219976727 References: <5de62l$f13$1@goanna.cs.rmit.edu.au> <32FB8B51.1759@concentric.net> <5dua51$h41$1@goanna.cs.rmit.edu.au> <3302F8B8.3F60@concentric.net> <5eb4s4$jj5$1@goanna.cs.rmit.edu.au> To: "Richard A. O'Keefe" Content-Type: text/plain; charset=us-ascii Organization: Codehenge Mime-Version: 1.0 Newsgroups: comp.lang.c++,comp.lang.smalltalk,comp.lang.eiffel,comp.lang.ada,comp.object X-Mailer: Mozilla 3.01Gold (X11; I; SunOS 5.5 sun4u) Date: 1997-02-19T00:00:00+00:00 List-Id: Richard A. O'Keefe wrote: > But "all functions are operators" is YOUR definition. > Remember that MY definition is > > whether a symbol is an operator, and if so, of what kinds, > is a purely syntactic property. A symbol is > - a niladic operator if invocations are written "f" > - a prefix monadic operator if invocations are written "f y" > - a postfix monadic operator if invocations are written "x f" > - an outfix monadic operator if invocations are written "f1 x f2" > - an infix dyadic operator if invocations are written "x f y" > If we are not limited to linear languages, Let us not forget upper right invisible operators like powers: (f is invisible) y x Lest you think this is silly, Mathematica has the invisible infix operator, Times: x y (means Times[x,y] or "x multiplies by y") I pretty much aggree with what you say. My stab at a definition: operator: The syntax for denoting an operation. > My conclusion: > > A. The distinction between operator precedence and evaluation order > is a basic one that I would expect any CS graduate to have mastered. > > B. Whether something is an operator is a purely syntactic issue. > > C. In modern languages there is _NO_ semantic distinction between > operators and other forms, although there may be a semantic > distinction between language-defined forms and programmer-defined > forms. > > D. I'm sick of this thread. D. This thread reminds me of when linguists try to define the word "word" For the most part, it is left as an undefined intuitive idea and they use a more specific term when they need to refer to some specific concept. Mike Klein -- mailto:mklein@alumni.caltech.edu http://www.alumni.caltech.edu/~mklein