On Tue, Jun 04, 2002 at 10:43:02AM +0100, Simon Cozens wrote: > (Please CC me on replies) > > I don't often express many opinions on Perl 6 these days, but I feel I have to > warn people about what I see as a potential loss of direction. > > I'm becoming somewhat disillusioned with Perl 6 these days; sometimes because > it's too radical, more often than not because it's not radical enough, and > quite often because it's more than a year behind schedule and still slipping. > But that last point is by the by; with three people now working full-time on > it, I'm sure we can expect it any day now. > > What's really actually letting me down with it is the half-measures we're > applying. We seem to be trying to please everyone, and it's not going to work; > indeed, it's going to end up presenting a burden to the implementors. > > Let's take an example. One of the major points of Perl 6, and one of its major > attractions for me, was that we finally put the backwards compatibility ghost > to rest. We can do brave, new, exciting things, without worrying about needing > to maintain obscure pieces of functionality. Yey! Except that we can't do that > any more; we've constrained ourselves to faithfully regressing to Perl 5 when > we see a "package" declaration. Why? Because we're scared. "package parses > Perl 5" is a sop to people who don't want to program in Perl 6, and we're > worried about losing those people.
One word: CPAN. (Okay, that was three words.) It will be a long, long time before all the CPAN modules are rewritten in Perl 6. In the meantime, Perl 6 code has to be able to use Perl 5 modules, or it will be crippled, and probably stillborn. Having said that, I have real, real doubts that Perl 6 will ever be able to execute Perl 5 code natively. Its not just a case a writing a new parser and some P5-specific ops; P5 has so many special features, boundary conditions and pecularies, that to get P6 to execute P5 is a task equivalent to reimplementing P5 from scratch. I'm wondering if instead, we continue to maintain the P5 src tree, and embed P5 within P6 (embed in the sense of Apache and Mod_perl). Sick and ugly, but maybe more practical than the alternatives. It also means that the P6 src doesn't have to be saddled with knowing (much) about P5. Eventually of course the P5 bit would have to be thrown away. Dave. -- "There's something wrong with our bloody ships today, Chatfield." Admiral Beatty at the Battle of Jutland, 31st May 1916.