On Sun, Jun 26, 2005 at 03:46:21PM -0400, Millsa Erlas wrote: > > Being a Perl 5 user myself, I believe that it would be the best idea to > write the final Perl 6 compiler targetting Parrot ideally in Perl 6 or > at least some other higher-high level language such as Haskell.
There's been a fair amount of confusion expressed about the implementation of the "final" Perl 6 compiler, especially with regards to the language that it will be implemented in. First, it's not clear that there will be, or even needs to be, a "final" Perl 6 compiler, any more than any other language is limited to having a single compiler. Multiple implementations can be good; different compilers can emphasize different aspects of the whole process, such as execution efficiency, stability, development efficiency, enhancement, etc. What we're aiming for now is to work to a 6.0.0 release, but even after such a release it's always possible that the compiler implementation details could change substantially in subsequent releases. Second, I don't believe that we're at a point where making a declaration or decision on this issue is of critical importance to development. We're developing not just a compiler, but also tools and an environment to support other languages and language interoperability. Thus from a "whole product" perspective, there are audiences and needs that must be addressed in addition to those of Perl 6 compiler authors, e.g., for those who might wish to use Parrot for things not directly related to Perl 6. But most importantly, I think I can say with some certainty (because it's a design feature of Perl 6) that whatever compiler architecture and implementation we end up with will by design be very accessible and understandable to Perl 6 programmers without requiring a deep knowledge of low-level details such as Parrot, PASM, or PIR. If we want to make it possible for Perl 6 programmers to tweak and extend the language, it makes sense to have a compiler that is understandable in terms of the language*s* those programmers speak. And by "languages" I'm alluding to the fact that Perl 6 has a number of special-purpose languages within it (the rules syntax being a prime example), so I believe it's very likely that we'll have still more special-purpose languages and tools for compiler development, most if not all of which will be readily understandable and tweakable by Perl 6 programmers. So, the language and specific tools to be used for the implementation of a "final" compiler is not something I'm really concerned with at this point. AFAIK the Perl motto continues to be "There's More Than One Way To Do It", and this probably holds true for the Perl 6 compiler implementation as well. We know of some things that must be present in the compiler, and some things that ought to be avoided, and within those constraints there's still a lot for us to explore and discover before we come up with *the* 6.0.0 release of Perl (which necessarily includes more than just a compiler). Pm