[kw-pm] Hrm.

lloyd carr dcarr at sdf.lonestar.org
Thu Jan 23 19:26:49 CST 2003


So I'm still a little confused, when did it go from being a April fools
joke to being real??

On 23 Jan 2003, Arguile wrote:

> Date: 23 Jan 2003 14:35:09 -0500
> From: Arguile <arguile at lucentstudios.com>
> To: kw-pm at mail.pm.org
> Subject: Re: [kw-pm] Hrm.
>
> On Thu, 2003-01-23 at 13:59, Daniel R. Allen wrote:
> > The only thing I'd add to Arguile's good summary- Parrot was written to
> > execute bytecode for Perl 6.  It is expected to become the core of the
> > perl 6 interpreter.  As quickly as the Perl 6 language definitions get
> > hashed out, the parrot crew goes in and implements it in parrot.
> > Maniacs.  :-) Though, Parrot is not perl6; it is a standalone virtual
> > machine that can execute bytecode-compiled languages like perl6 will be,
> > and like Python is currently.  No, that distinction isn't 100% clear to me
> > either.
> >
> > -Daniel
>
> The distinction can be seen easily when you look at say, compiling Perl
> down to bytecode to run on the Java JVM. Or think of different CPU
> instruction sets.
>
> First let's look at processors Let's take a PPC chip and, say, an nVidia
> GPU. Both are processors but they have very different tasks. You can do
> basic math on the GPU, it has such low level instruction on it. But the
> main part of it's intruction set is high level graphic operations that
> pertain to things like bump mapping, anisthropic filtering, refraction,
> etc. In the same way you can do graphics on the RISC (Reduced
> Instruction Set Computer) but I don't think anyone would argue that it's
> a lot harder and slower when you have to build the entire system out of
> simple math operations.
>
> Second we'll get closer to our distinction by looking at compiling Perl
> to run on Java's JVM instead of Parrot. Java has a specific way of doing
> things, so when they wrote the VM to the instructions it provides and
> the base data structures it uses are consistent with the style and type
> of programs you write in that language. If we try to map Perl's
> operations to it we'd have to create all sorts of complex little
> objects, structs, etc. to do stuff as we went through even basic
> operations. All though high level instructions that Java would use,
> aren't the type of thing Perl would use (like running a program on a
> GPU). And some of the basic things we do in Perl aren't done in Java, so
> the basic intructions aren't there; while it's possible to build them
> out of what _is_ there it's certainly not easy.
>
> So now we look at Perl and Parrot. It should be pretty obvious by now,
> Parrot is an VM for our class of language. It supports the type of
> things we commonly do in Perl and Python in it's intruction set. You
> could say it's optimised for it in the same way the GPU is optimised for
> graphics. So Parrot isn't Perl6, but the intruction set in the VM
> resembles the language class for quick/easy operation.
>
>
> Did I miss anything?
>
>
>
> caveat: Some high level analogies were used that don't fully mesh, but
> hopefully it gets the distinction across
>
> _______________________________________________
> kw-pm mailing list
> kw-pm at mail.pm.org
> http://mail.pm.org/mailman/listinfo/kw-pm
>

dcarr at sdf.lonestar.org
SDF Public Access UNIX System - http://sdf.lonestar.org




More information about the kw-pm mailing list