> 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