Daniel S. Wilkerson writes:
> Therefore, if it isn't a back-end and it isn't a front-end, what is it?!
> Perl6 seems to be a "nothing sandwich".  Not that this is bad, Zen is this
> way.

Simon's done a good job of explaining this, but I'll try too.

You're right, we're designing many things.  Larry's working on the
language that will be known as perl, with advice and comments from all
in perl6-language.

There'll be a compilation system.  The compiler will be flexible,
allowing you to have mini-languages for all or parts of your programs.
The compiler will emit bytecode, but you'll be able to have the
compiler interpret the bytecode right away to get the interpreted
language "execute your source" feel that we have now.

The compilation system might be extended to handle completely
different languages, e.g. Ruby, Python, Java, C, etc.  We'll design
the compiler and runtime so that it's possible, but we won't implement
those as our first priority.  If there are people who want that,
they'll do it.

The compiler default will be to emit bytecode for the perl runtime
system, but we'll design it in such a way that we can emit C source or
Java bytecode or whatever form of bytecode virgin sacrifice that .NET
requires.

The perl runtime system will be an interpreter for our own bytecode,
essentially a virtual machine tailored to our needs.  If we play our
cards right, you'll be able to write modules in Perl and call them
from Python, or vice-versa, because language-specific differences will
be erased by the time code comes to execute.

Both the compilation and runtime systems are being sketched out on
perl6-internals by Dan and others.

Right now we're talking about everything and calling it "perl6", but I
imagine we'll need to come up with code names for a lot of this stuff.
The language will stay as "Perl", but the VM might get its own name.
Maybe the compiler system will, too.  You might talk about perl being
compiled by PRATS (Perl Reinforced Active Translation System) and
running on CRAP (Complete Runtime Around Perl).

Well, maybe we'll have a contest for codenames :-)

Nat



Reply via email to