yank unary '+'?
Andrei Alexandrescu
SeeWebsiteForEmail at erdani.org
Mon Dec 7 20:52:04 PST 2009
Michel Fortin wrote:
> On 2009-12-07 01:29:14 -0500, Andrei Alexandrescu
> <SeeWebsiteForEmail at erdani.org> said:
>
>> Using double negation !!x throughout, there are only advantages and no
>> disadvantage. I hit that design with Pacquiao punches over the past
>> week or so, and couldn't find any shortcoming. It's consistent across
>> positive and negated uses, easy to understand, easy to define,
>> consistent with built-in types, and Walter likes it.
>
> I'm not sure that's a great idea. What if you define your own FuzzyBool
> type (containing some sort of probability) and FuzzyBool.opUnary!("!")
> returns an inverted FuzzyBool (with 1 - original probability) instead of
> a regular bool, you'd have an infinite loop trying to evaluate
> !!myBoolValue.
Yeah, I thought about that liability and decided to discount it as a
design mistake of the user. If a type decides to return non-bool from
"!", they are bound to unpleasantly surprise its user in more ways than
one. You can define a negate for FuzzyBool - just don't dress it as the
"!" operator.
Andrei
More information about the Digitalmars-d
mailing list