>> I do not like the idea. Adding magic just to save typing is only a good
>> idea if the magic is beautiful. This magic is not.
>
>You can already write proc {|@a,@b,@c|}. Do you think that feature
>should be removed?

Yes, but you can also write:

	proc {|(a,b),c[2]|}

If we want to add functionality to parameter assignment, I think the
best choice is not to add magic for special cases like "@a", but instead
go all the way and remove the differences between parameter assignment
and ordinary assignment altoghether.

This would mean allowing function declarations such as:

	def f((a,b),c[2])

But also that ordinary assignment would have to be changed to support
the functionality of parameter assignment, such as

	(a, b=2, c=4) = *[3, 3]
	# would set a = 3, b = 3, c = 4

and

	(a, &b) = 3 {|x| p x}
	# would set b = proc {|x| p x}

This would make the language more orthogonal, but would probably
require major changes in the implementation. Also I'm not sure
that it is such a good idea.

I'm used to thinking of assignment and parameter passing as different
concepts, but that might just be prejudice. What do you others
say?

// Niklas