At 03:26 PM 12/4/2001 -0500, Adam Turoff wrote:
>The beginnings of a Parrot FAQ can be found here:
Here's some more:
Q: What language is Parrot written in?
A: C
Q: For the love of god, man, why?!?!?!?
A: Because it's the best we've got.
Q: That's sad
A: So true. Regardless, C's available pretty much everywhere. Perl 5's in
C, so we can potentially build any place perl 5 builds.
Q: Why not write it in <insert favorite language here>
A: Because of one of:
*) Not available everywhere
*) Limited talent pool for core programmers
*) Not fast enough
Q: Why your own virtual machine? Why not compile to JVM/.NET?
A: Those VMs are designed for statically typed languages. That's fine,
since Java, C#, and lots of other languages are statically typed. Perl
isn't. For a variety of reasons, it means that perl would run more slowly
there than on an interpreter geared towards dynamic languages
Q: So you won't run on the JVM/.NET?
A: Sure we will. They're just not our first target. We build our own
interpreter/VM, then when that's working we start in on the JVM and/ori
..NET back ends.
Q: What's with this whole register machine thing?
A: Not much, why do you ask?
Q: Don't you know that stack machines are the way to go in software?
A: No, in fact, I don't.
Q: But look at all the successful stack-based VMs!
A: Like what? There's just the JVM.
Q: What about all the others?
A: *What* others? That's it, unless you count perl, python, or ruby.
Q: Yeah, them!
A: Yeah, right. You never thought about them as VMs, admit it. :)
Seriously, we're already running with a faster opcode dispatch than any of
them are, and having registers just decreases the amount of stack thrash we get
Q: Right, smarty. Then name a successful register-based VM!
A: The 68K emulator Apple ships with all its PPC-enabled version of MacOS.
Dan
--------------------------------------"it's like this"-------------------
Dan Sugalski even samurai
[EMAIL PROTECTED] have teddy bears and even
teddy bears get drunk