[eeps] : : Proposal for /\ and \/ operators

Richard O'Keefe ok@REDACTED
Mon Mar 2 05:29:56 CET 2009


On 28 Feb 2009, at 12:08 am, Raimo Niskanen wrote:
> You learn something new every day. I managed up to now to not worry
> about true and false having a sort order, in fact I assumed
> they had no order in boolean algebra, that order was undefined.

Standard definition:  x <= y iff (x/\y) = x,
		      x >= y iff (x\/y) = x.
Hence for Boolean, the only consistent ordering is false < true.

> I assumed these were arbitrary choices,

The choices in Ada and Pascal are not arbitrary.

> C had
> for a long while 0 as false and anything else as true,

Why "had"?  It's still so in C99, even though there is now
a Boolean type as well.  That's what it *accepts*.  But what
C *generates* for Boolean (!, &&, ||, ==, !=, <, <=, >, >=)
is guaranteed to be 0 or 1.  (A common mistake is to think
that the functions in <ctype.h> are Boolean functions.  They
are not.)

>> You saw my false assumtions above, all my previous
> knowledge counterhelped.
>
> It is unlucky that 1 < 2 and 4 > 3 gives a visual key
> but for 1 /\ 2 the same visual key does not apply.

But it DOES apply.  In fact it's MORE visual.  You plug
your numbers in at the bottom and at the top you get
the *smallest* thing.  And that's what min does.
>

> instead you have to use math knowledge not that common
> even for an MSEE.

It's in at least some undergraduate discrete maths texts
for CS.  And if I stuck with just the maths knowledge I had
while doing Underwater Acoustics (my masters), I would
never be able to keep up with the Haskell-Café mailing list.





More information about the eeps mailing list