Some random musings, for what they're worth... 1) The fact that we've had this long thread about arrays and shows that they are confusing. How could we change the functionality/eliminate the differences so as to simplify things?
2) It seems that the functionality of lists is a proper subset of the functionality of arrays. If this is the case and I'm not just missing something, we might want to at least consider some way to eliminate lists as a separate data type. 2a) What would be the costs (performance and otherwise) of eliminating lists and just having people use anonymous array composers where they would normally use a list? How much more expensive is it to allocate an array on the heap than an equivalent list on the stack? 3) More interesting than eliminating lists would be to distinguish them...to give them a "special power" of their own. My suggestion would be to make lists behave as a shortcut for mapping over their elements. Therefore: (@a, @b, @c).pop(); # same as @{[@a, @b, @c]}.map({pop}) %z = (@a, @b, @c).{$_[0] => $_}; # same as @z = @{[@a, @b, @c]}.map({$_[0] => $_}); 4) Also spiffy would be if we could make lists auto-hyper their elements: @a = (1, 2, 3) + 7; # same as @a = (1, 2, 3) >>+<< 7; # might need to be @a = (1, 2, 3).+ 7; Ok, I will now sit back and listen to reasons why this is a bad idea. :> --Dks