On Tue, Nov 30, 2004 at 10:05:03PM +0000, Matthew Walton wrote:
: So
: 
: my @list = <foo bar baz>;
: 
: is the equivalent of
: 
: my @list = ('foo', 'bar', 'baz');
: 
: ?

Yes.

: >    * Since we already stole angles from iterators, «$fh» is not
: >     how you make iterators iterate.  Instead we use $fh.fetch (or
: >     whatever) in scalar context, and $fh.fetch or @$fh or $fh[]
: >     or *$fh in list context.
: 
: That's doable. I take it that if I do
: 
: for (@$fh) {
:   ...
: }
: 
: then $fh iterates lazily rather than exploding into an enormous list to 
: be processed and chewing up all the RAM.

Correct.  The p5-to-p6 translator will turn any

    while (<handle>) {...}

into

    for @$handle {...}

or whatever we decide is the correctest idiom.

: >    * That frees up «...» for Something Else.
: >
: >    * That something else is the requested variant of qw// that allows
: >     interpolation and quoting of arguments in a shell-like manner.
: 
: Mmmm so I can write
: 
: my $foo = 'foo';
: my $bar = 'bar';
: my $baz = 'baz';
: my @list = «$foo $bar $baz»;
: 
: and get the same @list I got earlier? Mighty cool.

I thought so.

: I don't think I've ever used a hash slice in my life. Is there something 
: wrong with me?

No, a lot of people are naturally monoindexous.

: >    * The Texas quotes <<...>> are only needed when you *have* to 
: >    interpolate.
: 
: Does
: 
: <<foo bar baz>>
: 
: mean
: 
: «foo bar baz»
: 
: or
: 
: ('<foo', 'bar', 'baz>')
: 
: ?

The former.  The <<...>> workaround is still the same, but needed a lot less.

: >    * The :w splitting happens after interpolation.  So
: >
: >         « foo $bar @baz »
: >
: >     can end up with lots of words, while
: >
: >         « foo "$bar" "@baz" »
: >
: >     is guaranteed to end up with three "words".
: 
: See the comment about 'fabulouser' above and add another 'and 
: fabulouser' to the end.

I neglected to mention that the smart quoter should also recognize
pair notation and handle it.

: >    * Multimethed references could be distinghuised either way:
: >
: >     &bark«Tree»
: >     &bark<Dog>
: 
: Good, so those of us who wish to use as much Unicode as possible can do 
: so without having to rewrite the grammar. Excellent ;-)

I neglected to mention that we also naturally get both of:

    circumfix:«< >»
    circumfix:<« »>

in addition to

    circumfix:{'<','>'}
    circumfix:{'«','»'}

Have to be careful with

    circumfix:«{ }»

though, since {...} interpolates these days.

Larry

Reply via email to