From: Michael Lazzaro [mailto:[EMAIL PROTECTED]]
> 
> Just to clarify... in P6, is this an array reference, or a list 
> reference?
> 
>       [1,2,3]

Exactly. It's still up in the air...

Apoc 2, RFC 175:
> So it works out that the explicit list composer:
> 
>    [1,2,3]
> 
> is syntactic sugar for something like:
> 
>    scalar(list(1,2,3));
> 
> Depending on whether we continue to make a big
> deal of the list/array distinction, that might
> actually be spelled:
>
>    scalar(array(1,2,3));


 
> What about this?
> 
>       \@array

hmm. As perl Apoc2, Lists, RFC 175... arrays and hashes return a reference
to themselves in scalar context... I'm not sure what context '\' puts them
in.

I'd guess \@array is a reference to an array reference.
 

> I'd say both of them are array references, but there's no variable 
> associated with the first one -- it's just an anonymous 
> container.  So 
>
> I'd rewrite the definition to:
> 
>    - Lists are an ordered collection of scalar values
>    - Arrays are containers that store lists
> 
> (Coupled with Uri's explanations, of course... it's the 'container' 
> part that allows read/write, as opposed to simply read.)  Yes/no?

I'd just stick with Uri's explanation. Arrays are allocated. Lists are on
the stack...

It doesn't need improving... The only question is whether it is still
accurate in the _context_ of Perl6 ;)

 
> But is it OK for a list to be silently promoted to an array when used 
> as an array?  So that all of the following would work, and 
> not just 50% of them?
> 
>     (1..10).map {...}
>     [1..10].map {...}
> 
>     (@a,@b,@c).pop
>     [@a,@b,@c].pop

There's only one person who can answer that... and he's not reading ;)



--
Garrett Goebel
IS Development Specialist

ScriptPro                   Direct: 913.403.5261
5828 Reeds Road               Main: 913.384.1008
Mission, KS 66202              Fax: 913.384.2180
www.scriptpro.com          [EMAIL PROTECTED]

 

Reply via email to