query function for number of arguments



On 4/30/10, Stavros Macrakis <macrakis at gmail.com> wrote:
> On Fri, Apr 30, 2010 at 05:57, John Lapeyre <pdl at johnlapeyre.com> wrote:
>
>> ...But the Macsyma translation fails when called:
>>  Apply(lambda( [arg1,arg2], Mod(arg1,arg2) ),[10,6,1]);
>>
>
> Well, it *should* fail, shouldn't it?  If you call a function incorrectly,
> you get an error.  Seems like the correct behavior to me.

Agreed on this point -- I sometimes seem to be pushing for lax
enforcement of rules, but supplying extra arguments seems like
a simple error in this case.

Another justifiable behavior would be to return a noun expression
'foo(x, y, z) if foo is declared with fewer arguments. But silently
ignoring the extra arguments seems wrong.

best

Robert Dodier