Brendan Eich (2013-12-18T02:04:02.000Z)
Angus Croll wrote:
> the alternative is that the second argument expects an array of 1 to n 
> source objects. This works with reduce and leaves way clear for future 
> 3rd argument (eg deep copy boolean)

Mandatory array-of-parameters is an anti-pattern, given spread. Even if 
the allocation costs nothing, the obligatory [ and ] around the most 
common (singleton) case is a eye-killer.

We don't want indefinite future-proofing for argument extension, BTW. We 
always get in trouble trying to do that, because real code passes 
trailing args. What we want are fixed arity functions that we never 
extend, and variadic functions that are variadic from the get-go.

I think deep copy is not ever happening, in the same vein. Just say no, 
KISS, don't leave too much open -- it won't actually pan out.

/be
domenic at domenicdenicola.com (2014-01-03T16:20:15.382Z)
Mandatory array-of-parameters is an anti-pattern, given spread. Even if 
the allocation costs nothing, the obligatory `[` and `]` around the most 
common (singleton) case is a eye-killer.

We don't want indefinite future-proofing for argument extension, BTW. We 
always get in trouble trying to do that, because real code passes 
trailing args. What we want are fixed arity functions that we never 
extend, and variadic functions that are variadic from the get-go.

I think deep copy is not ever happening, in the same vein. Just say no, 
KISS, don't leave too much open -- it won't actually pan out.