|Bill Allombert on Tue, 10 Nov 2015 23:24:46 +0100|
[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]
|Re: Vector of args|
On Tue, Nov 10, 2015 at 12:31:51PM +0100, Loïc Grenié wrote: > I think I agree with Kevin. It would create a discrepancy between > command-line and call(). If f has 3 arguments then I must call it > with f(1,2,3) in the command-line and call(f,[1,2,3]) in a function. If I > upgrade later f to a variadic function, the command-line remain the > same: f(1,2,3) but I must change the call to call(f,[1,2,]). If you change f(a,b,c)=.... to f(a,b,c,d[..])=.... and then call(f,[1,2,3]) will still work If you replace a fixed arg GP function with a variadic GP function, lots of things will stop working, not just call(). Variadic GP functions were not meant to write replacement for fixed arg user functions, but to write replacements for built-in variadic functions, like printf. This proposal makes it harder to use call inside a variadic function, which is an important use case. Cheers, Bill.