[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Boole, and the value of pi



I must say, the identity you pointed out
    (Boole a (Boole b x y) (Boole c x y)) = (Boole (Boole a b c) x y)
deserves at least to be labelled "Gosperian"!    I'll take it to heart instantly,
lest all my programs stop working, and the value of pi become rational.

But, seriously, I'm not sure how to react to your msg, especially in view
of the qualification you added (with my emphasis):
    "It demonstrates how one **might** assemble a Boolean operation from
     pieces at runtime. "

Despite the existence of LOGAND and LOGOR, old beliefs die hard --
there is just no good reason why BOOLE, if it must exist, has to be
argument limited on the trivial cases such as (BOOLE 7 x y z).  This sort
of thing exists all over the place in existing MacLisp code, and it has
always been defined to left-associate (which of course doesn't matter for
codes 1 and 7 which are not only associative, but also commutative).

But in the long run, for the vitality of CommonLisp, wouldn't it be better
to relagate hacks to BITBLT (which you didn't comment upon); a "functional"
argument to BITBLT is a necesity, and probably there are infinite numbers
of odd facts which will eventually be derived from it.