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