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

Re: The boolean eqv function & n-ary generalisation of associative ops



> Just for a little context, play this game: ask yourself, "How many
> functions are there from two booleans to a boolean?" Go ahead; work
> it out. Then you will see that SRFI 33 provides a name for every one
> of them, and defines one operation for each such function

> That is the *core idea* underlying that part of the library.

In one sense, the srfi "provides a name" for bitwise-const0, etc., but
in the words of the srfi these operations are "not provided".

In a previous email you said that providing these would be "beyond the
pale", but now you say they are part of "the *core idea*".

I could go either way, but I'm a little confused by your rhetoric.

You said that the notation (lambda (x y) 0) for bitwise-const0 cannot
be improved upon, but one might actually want (lambda (x y)
(assert-exact-int x) (assert-exact-int y) 0), at least when in
safe-and-slow mode, and I think bitwise-const0 is an improvement over
that.

If the trivial ops are provided, it should be noted that they are all
associative, and hence should all allow extra arguments.  However, for
only two of them are there good values to use as the result of the
zero-argument case.

-al