[racket] arity of + versus <=
On Fri, Oct 28, 2011 at 2:28 PM, Joe Marshall <jmarshall at alum.mit.edu> wrote:
> On Fri, Oct 28, 2011 at 11:08 AM, Carl Eastlund <cce at ccs.neu.edu> wrote:
>>
>> You seem to be assuming that we have to pick one binary->nary for all
>> binary operators.
>
> That is the nature of `generalization'. If I have to discriminate, it isn't
> general.
Only if our job is to generalize binary operators as a class to n-ary
operators. This thread is about generalizing <= (and a few related
operators) to n-ary operators. We can do the latter without doing the
former.
>> I would choose this one for relations and the other
>> one for associative operators with identities.
>
> And you thus answer the original poster's question.
> `` is there a rationale beyond historical precedent
> for + and * to allow any number of arguments but, =, <=, <, >, >= to
> require at least two arguments?''
>
> Yes. The two generalizations are different.
How is that a rationale? I don't see why this kind of difference is
in any way an argument against generalization. It may be a reason
that the designers thought of one kind of generalization but not the
other, but that's in the category of historical precedent.
> I made a clumsy argument to this effect by showing that the natural
> generalization
> for add and multiply do not extend to relational operators.
--Carl