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

Reply via email to