Re: The distinction between "do BLOCK while COND" and "EXPR while COND" should go

[email protected] (Chaim Frenkel) 05 Sep 2000 23:25:43 -0400
Newsgroups perl.perl6.language.flow
Message-ID <[email protected]>
>>>>> "PS" == Peter Scott <[email protected]> writes:

PS> I find myself wishing there were something we could do about the
PS> context rules.  They seem simple enough, individually, but when
PS> you put them together - well, there was a quiz a year or so ago -
PS> I forget whether it was in TPJ or Usenet - where someone posted 10
PS> or so code fragments and challenged readers to figure out what
PS> they did.  And they were all very simple things on the order of
PS> my($x,$y) = ($z,fn($w)).  'Expert' users were those who got more
PS> than 7 right.  Unfortunately this is an empty gripe since I have
PS> no idea where to start simplifying.

I think that's what I'm trying for.

I'd like to go for the following changes, 

. elminate the language specification that lists are flattened

This would allow having

	(@x, @y) = (@y, @x);

. the dichotomy of lists and arrays.
. context applies only to the first level of an expression.

Working together, this would allow
	(@x, $foo, @y) = (@y, (1,3,5), @x)

What $foo would contain is up for grabs. I (and Graham(?)) would
prefer to have $foo == 3.

	push( &fn(), 35)

could be made to work. No longer would a list be returned but an
unnamed array. Hmm, might work together with lvalued subs.

<chaim>
-- 
Chaim Frenkel					     Nonlinear Knowledge, Inc.
[email protected]				               +1-718-236-0183