Perl: the Markov chain saw PerlMonks

Re^7: Burned by precedence rules (eqv)

by tye (Sage)
 on Dec 31, 2008 at 02:14 UTC ( #733381=note: print w/replies, xml ) Need Help??

in reply to Re^6: Burned by precedence rules (== true)
in thread Burned by precedence rules

Nah. Clearly this demonstrates the utility of a few "Boolean comparison" operators:

```    if \$isFree ?= \$isEasy
if \$isOne !?= \$isOther

or  die "Inconsistent state";

system \$verifyUser
or   die "You are not just either a User or an Admin";

;)

- tye

Replies are listed 'Best First'.
Re^8: Burned by precedence rules (eqv)
by TimToady (Parson) on Dec 31, 2008 at 03:17 UTC
Well, we can't use eqv because we already use that for something else, but we do have a Boolean not-equal already:
```    \$x ?^ \$y
What we don't have is a Boolean equal. I thought about adding:
```    \$x ?= \$y
but people would probably think that means:
```    \$x = \$x ? \$y;
which is nonsense, but they'd still think it. :-)

Anyway, the utility is not worth the extra complexity, in my opinion. Comparing two Booleans for equivalence is an odd enough thing to do that I don't mind if it looks a little odd.

What about saying that !( potential boolean operator ) means the boolean negation of the boolean operator? That would naturally give you the logical operators !&& (nand), !|| (nor) and !^ (not xor). The last would, of course, be Boolean equals.

(I can't believe I just suggested that.)

Note that I did include a winky smiley. But I saved the clincher argument for now: Perl 6 is becoming so like VB, it will be very surprising to VBers when the purpose of eqv is so different. :-D

- tye

Create A New User
Node Status?
node history
Node Type: note [id://733381]
help
Chatterbox?
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others lurking in the Monastery: (4)
As of 2018-04-25 03:41 GMT
Sections?
Information?
Find Nodes?
Leftovers?
Voting Booth?
My travels bear the most uncanny semblance to ...

Results (88 votes). Check out past polls.

Notices?