What is this language construct called?
In Python I can say:
def a(b,c): return b+c
a(*[4,5])
and get 9. Likewise in Ruby:
In ruby, it is often called "splat".
Also in ruby, you can use it to mean 'all of the other elements in the list'.
a, *rest = [1,2,3,4,5,6]
a # => 1
rest # => [2, 3, 4, 5, 6]
It can also appear on either side of the assignment operator:
a = d, *e
In this usage, it is a bit like scheme's cdr, although it needn't be all but the head of the list.