Related articles |
---|
Problems with Hardware, Languages, and Compilers hrubin@stat.purdue.edu (1997-03-07) |
Re: Definable operators dlester@cs.man.ac.uk (1997-04-16) |
Re: Definable operators burley@tweedledumb.cygnus.com (Craig Burley) (1997-04-18) |
Re: Definable operators genew@vip.net (1997-04-20) |
Unary operators, was Re: Definable operators fanf@lspace.org (Tony Finch) (1997-04-22) |
Re: Unary operators, was Re: Definable operators mfinney@lynchburg.net (1997-05-04) |
From: | mfinney@lynchburg.net |
Newsgroups: | comp.compilers |
Date: | 4 May 1997 00:26:09 -0400 |
Organization: | Not-much |
References: | 97-03-037 97-04-095 97-04-113 97-04-134 97-04-152 |
Keywords: | syntax, design |
Tony Finch <fanf@lspace.org> writes:
>I don't really see a big problem, so long as the restrictions imposed
>by the language designers are sensible and understandable, and the
>programmers don't go overboard with their freedom and define prefix
>plus to convert its argument to an IP address and launch Netscape.
While I have never wanted to do THAT <g>, I have always felt that
since unary - is used for arithmetic negation, that unary + should be
used for absolute value. In the "traditional" sense, unary + applied
to a number doesn't change the value at all. And, if applied to a
literal (which is not already prefixed with unary -), unary + as \
absolute value does the same thing. But when applied to a variable it
is very useful.
I don't know of any language that does this, but on the other hand
I also don't know of many people that seriously use unary + for
anything other than applied directly to a literal to contrast with a
unary -, for example -23 and +23. Those uses would not change.
[Yuck. That certainly violates the principle of trying to use
operators for their familiar meaning rather than something else.
We've had ABS(X) for forty years and |x| for a century, I'd let
sleeping values lie. -John]
--
Return to the
comp.compilers page.
Search the
comp.compilers archives again.