From: Peter Dimov (pdimov_at_[hidden])
Date: 2002-03-20 11:30:32


From: "Jaakko Jarvi" <jajarvi_at_[hidden]>
> Disallowing extra arguments:
>
> > Simple non-jobs like dropping an argument shouldn't require
> > extra notational support: that just pushes users closer to the place
> > where they're forced to debate whether or not to use the library
> > facilities.
>
> The design rationale for this was that we
> really do not know many (any) programming languages which would silently
> ignore extra arguments to functions.
> True that you can ignore arguments, say in C++:
> int foo(int x, int y, int z) { return x; }
> but here too the function is explicitly marked to take 3 arguments.

FWIW:

* I've been asked "How do I ignore function arguments" at least twice.
Really.
* If I can ignore the first and second argument using _3, why shouldn't I be
able to ignore the second and the third argument using _1? What's so special
about the last argument making it "non-ignoreable"?
* The bind reference says nothing about ignoring trailing arguments. It all
falls out naturally from the formal definition.