D - logical xor

• DeadCow (3/3) Sep 12 2003 Im wondering why there is no logical xor operator ( ^^ ) ?
• Andy Friesen (3/8) Sep 12 2003 Use != :)
• DeadCow (5/7) Sep 13 2003 True =)
• Philippe Mori (3/10) Sep 13 2003 This is not the same when arguments are not already bool
• Mike Wynn (4/10) Sep 13 2003 there is no need for another boolean xor, you have to eval both sizes
```Im wondering why there is no logical xor operator ( ^^ ) ?

Using ^ works but its somewhat unbalanced.

-- Nicolas Repiquet
```
Sep 12 2003
Andy Friesen <andy ikagames.com> writes:
```DeadCow wrote:
Im wondering why there is no logical xor operator ( ^^ ) ?

Using ^ works but its somewhat unbalanced.

-- Nicolas Repiquet

Use != :)

-- andy
```
Sep 12 2003
```"Andy Friesen" <andy ikagames.com> a écrit dans le message news:
bjuaqj\$2p63\$1 digitaldaemon.com...

Use != :)

-- andy

True =)

Now its not unbalanced, its ugly !

-- Nicolas Repiquet
```
Sep 13 2003
"Philippe Mori" <philippe_mori hotmail.com> writes:
``` DeadCow wrote:
Im wondering why there is no logical xor operator ( ^^ ) ?

Using ^ works but its somewhat unbalanced.

-- Nicolas Repiquet

Use != :)

This is not the same when arguments are not already bool
and if it is already bool, ^ would give the proper result...
```
Sep 13 2003
Mike Wynn <mike l8night.co.uk> writes:
```DeadCow wrote:
Im wondering why there is no logical xor operator ( ^^ ) ?

Using ^ works but its somewhat unbalanced.

-- Nicolas Repiquet

there is no need for another boolean xor, you have to eval both sizes
and you have ^ or != already
(the only reason for && and || is they only eval one side if they can)
```
Sep 13 2003
Antti =?iso-8859-1?Q?Syk=E4ri?= <jsykari gamma.hut.fi> writes:
```In article <bjv578\$10m2\$1 digitaldaemon.com>, Mike Wynn wrote:
Im wondering why there is no logical xor operator ( ^^ ) ?

Using ^ works but its somewhat unbalanced.

-- Nicolas Repiquet

there is no need for another boolean xor, you have to eval both sizes
and you have ^ or != already
(the only reason for && and || is they only eval one side if they can)

There's one reason I can think of:

- There wouldn't be the periodical question "Why is there no ^^?" on the
newsgroup
-> less time wasted explaining why it's not actually needed ;)

Another reason: consistency. (Although we're talking about C's
descendant here -- I won't hold my breath. IMO it would be best to just
get rid of most operators and replace them with member functions!)

Yet I wouldn't be too unhappy if logical xor was implemented -- just for
the heck of it.

-Antti
```
Sep 13 2003
"Serge K" <skarebo programmer.net> writes:
``` There's one reason I can think of:

- There wouldn't be the periodical question "Why is there no ^^?" on the
newsgroup

Technically, || and && are not logical operators but control flow operators,
similar to "a ? b : c"

(x || y)  =>  (x ? true : y)
(x && y) => (x ? y : false)

It is more clear in Ada, where these operators are called "short-circuit
control forms", and have more descriptive names:
|| => "or else"
&& => "and then"
```
Sep 15 2003