> So what's the latest status on Perl 6 ?

If you really want fun, laughter and a chance to read Damian Conway, Larry 
Wall and others (referred to as "@Larry" - those in charge of Perl/Perl 6) 
live and unedited, you should subscribe to one of the perl 6 lists (
perl6-language is good - that and others at perl.org).  They are hashing, 
er, generating the future as we speak.

Currently Pugs is a Perl 6 proving ground - its a Haskell implementation 
of the perl compiler in what was a whacky month. Out of the blue a guy 
shows up, writes the thing using the basics from the first few Perl 6 
specs and suddenly they've got a test implementation of P6.  It was 
amazing.

In some sense, the lists are not for the faint-hearted - they do go into 
some details. For instance, the built-in 'zip' operator takes 2 things 
(hash, array, lists) and interleaves them (like a zipper).  It currently 
is being represented by the Yen unicode symbol, below its just a capital 
"Y" - this response is from Damian Conway:
> What should zip do given 1..3 and 1..6?
> 
> (a) 1 1 2 2 3 3 4 5 6
> (b) 1 1 2 2 3 3 undef 4 undef 5 undef 6
> (c) 1 1 2 2 3 3
> (d) fail
> 
> I'd want c, mostly because of code like
> 
>     for @foo Y 0... -> $foo, $i { ... }
> 
> Pugs currently does b.

I agree that C<zip> should have named options (perhaps :min and :max) that 

allow precise behaviour to be specified.

I suspect that the dwimmiest default would be for C<zip> to stop zipping 
at 
the length of the shortest finite argument. And to fail unless all finite 
arguments are of the same length. Hence:

      @i3 =   1..3   ;
      @a3 = 'a'..'c' ;
      @i6 =   1..6   ;

      zip(@a3, @i3)            # 'a', 1, 'b', 2, 'c', 3
      zip(@i3, @i6)            # fail
      zip(100..., @a3, @i3)    # 100, 'a', 1, 101, 'b', 2, 102, 'c', 3
      zip(100..., @a3, @i6)    # fail


Its a long way off (though somebody, following LW's comment that the 
Apoclypses would relate to the chapters of the Camel, suggested that most 
of the broad strokes are done) but you can watch (and help - they are very 
friendly, regardless of how over your head they are), but Pugs, Parrot and 
the Perl6:: modules will be giving us a good look at many of the features 
already.  It won't be your father's Perl anymore ... though p5 stuff will 
supposedly run unchanged or, at the worst, w/ a flag/pragma/ENV setting.

a

Andy Bach, Sys. Mangler
Internet: [EMAIL PROTECTED] 
VOICE: (608) 261-5738  FAX 264-5932

" History will have to record that the greatest tragedy of this period of
social transition was not the strident clamor of the bad people, but the
appalling silence of the good people. "
Martin Luther King, Jr.
_______________________________________________
ActivePerl mailing list
[email protected]
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs

Reply via email to