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

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

This page is part of the web mail archives of SRFI 33 from before July 7th, 2015. The new archives for SRFI 33 contain all messages, not just those from before July 7th, 2015.

> 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

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.