On Saturday 02 February 2002 09:37, Bryan C. Warnock wrote: Disregard previous. I forgot to turn off word wrap.
Index: ParrotFAQ.htm =================================================================== RCS file: /home/perlcvs/parrot/docs/ParrotFAQ.htm,v retrieving revision 1.1 diff -u -r1.1 ParrotFAQ.htm --- ParrotFAQ.htm 26 Jan 2002 00:37:38 -0000 1.1 +++ ParrotFAQ.htm 2 Feb 2002 14:40:17 -0000 @@ -99,10 +99,10 @@ <DT>7. <A href="http://www.panix.com/~ziggy/parrot.html#id308673">Really? </A></DT></DL></DD></DL> <DIV class=qandadiv> -<H3 class=title>1 General Questions</H3> +<H3 class=title><A name='id335540'>1 General Questions</A></H3> <DIV class=qandaentry> <DIV class=question> -<P><B>1. </B>What is Parrot? </P></DIV> +<P><A name='id335527'><B>1. </B>What is Parrot? </A></P></DIV> <DIV class=answer> <P><B></B>Parrot is the new interpreter being designed from scratch to support the upcoming Perl6 language. It is being designed as a standalone virtual @@ -111,7 +111,7 @@ bytecode-compiled languages such as Python, Ruby and Tcl. </P></DIV></DIV> <DIV class=qandaentry> <DIV class=question> -<P><B>2. </B>Why "Parrot"? </P></DIV> +<P><A name='id335495'><B>2. </B>Why "Parrot"? </A></P></DIV> <DIV class=answer> <P><B></B>The name "Parrot" relates to Simon Cozen's <A href="http://www.perl.com/pub/a/2001/04/01/parrot.htm" target=_top>April Fool's @@ -121,7 +121,7 @@ of time as Parrot's lead developer. </P></DIV></DIV> <DIV class=qandaentry> <DIV class=question> -<P><B>3. </B>Is Parrot the same thing as Perl6? </P></DIV> +<P><A name='id335608'><B>3. </B>Is Parrot the same thing as Perl6? </A></P></DIV> <DIV class=answer> <P><B></B>No. Parrot is an implementation that is expected to be used to execute Perl6 programs. The Perl6 language definition is currently (December 2001) being @@ -132,7 +132,7 @@ </P></DIV></DIV> <DIV class=qandaentry> <DIV class=question> -<P><B>4. </B>Can I use Parrot today? </P></DIV> +<P><A name='id335566'><B>4. </B>Can I use Parrot today? </A></P></DIV> <DIV class=answer> <P><B></B>Well, almost. :-) </P> <P>Parrot is in the early phases of its implementation. The primary way to use @@ -147,7 +147,7 @@ </P></DIV></DIV> <DIV class=qandaentry> <DIV class=question> -<P><B>5. </B>Why should I program in Parrot Assembly language? </P></DIV> +<P><A name='id335649'><B>5. </B>Why should I program in Parrot Assembly language? +</A></P></DIV> <DIV class=answer> <P><B></B>Lots of reasons, actually. :-) <DIV class=itemizedlist> @@ -166,8 +166,8 @@ </P></DIV></DIV> <DIV class=qandaentry> <DIV class=question> -<P><B>6. </B>When can I expect to use Parrot with a <SPAN -class=emphasis><I>real</I></SPAN> programming language? </P></DIV> +<P><A name='id335734'><B>6. </B>When can I expect to use Parrot with a <SPAN +class=emphasis><I>real</I></SPAN> programming language? </A></P></DIV> <DIV class=answer> <P><B></B>It depends on what you mean by <SPAN class=emphasis><I>real</I></SPAN>. :-) @@ -186,24 +186,24 @@ <P></P></DIV></DIV> <DIV class=qandaentry> <DIV class=question> -<P><B>7. </B>What language is Parrot written in? </P></DIV> +<P><A name='id335812'><B>7. </B>What language is Parrot written in? </A></P></DIV> <DIV class=answer> <P><B></B>C </P></DIV></DIV> <DIV class=qandaentry> <DIV class=question> -<P><B>8. </B>For the love of god, man, why?!?!?!? </P></DIV> +<P><A name='id332693'><B>8. </B>For the love of god, man, why?!?!?!? </A></P></DIV> <DIV class=answer> <P><B></B>Because it's the best we've got. </P></DIV></DIV> <DIV class=qandaentry> <DIV class=question> -<P><B>9. </B>That's sad. </P></DIV> +<P><A name='id333857'><B>9. </B>That's sad. </A></P></DIV> <DIV class=answer> <P><B></B>So true. Regardless, C's available pretty much everywhere. Perl 5's in C, so we can potentially build any place perl 5 builds. </P></DIV></DIV> <DIV class=qandaentry> <DIV class=question> -<P><B>10. </B>Why not write it in <SPAN class=emphasis><I>insert favorite -language here</I></SPAN> </P></DIV> +<P><A name='id333746'><B>10. </B>Why not write it in <SPAN class=emphasis><I>insert +favorite +language here</I></SPAN> </A></P></DIV> <DIV class=answer> <P><B></B>Because of one of: <DIV class=itemizedlist> @@ -217,8 +217,8 @@ <P></P></DIV></DIV> <DIV class=qandaentry> <DIV class=question> -<P><B>11. </B>Why your own virtual machine? Why not compile to JVM/.NET? -</P></DIV> +<P><A name='id333518'><B>11. </B>Why your own virtual machine? Why not compile to +JVM/.NET? +</A></P></DIV> <DIV class=answer> <P><B></B>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. @@ -226,16 +226,16 @@ an interpreter geared towards dynamic languages. </P></DIV></DIV> <DIV class=qandaentry> <DIV class=question> -<P><B>12. </B>So you won't run on the JVM/.NET? </P></DIV> +<P><A name='id333545'><B>12. </B>So you won't run on the JVM/.NET? </A></P></DIV> <DIV class=answer> <P><B></B>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/or .NET back ends. </P></DIV></DIV></DIV> <DIV class=qandadiv> -<H3 class=title>2 Parrot and Perl</H3> +<H3 class=title><A name='id308320'>2 Parrot and Perl</A></H3> <DIV class=qandaentry> <DIV class=question> -<P><B>1. </B>Why reimplement Perl? </P></DIV> +<P><A name='id308546'><B>1. </B>Why reimplement Perl? </A></P></DIV> <DIV class=answer> <P><B></B>Good question. </P> <P>At The Perl Conference 4.0, in the summer of 2000, Larry Wall <A @@ -271,19 +271,19 @@ <P></P></DIV></DIV> <DIV class=qandaentry> <DIV class=question> -<P><B>2. </B>You want to write the Perl compiler in Perl? </P></DIV> +<P><A name='id309128'><B>2. </B>You want to write the Perl compiler in Perl? +</A></P></DIV> <DIV class=answer> <P><B></B>Sure. Why not? C, Java, Lisp, Scheme and practically every other language is self-hosting. Why not? </P></DIV></DIV> <DIV class=qandaentry> <DIV class=question> -<P><B>3. </B>Isn't there a bootstrapping problem? </P></DIV> +<P><A name='id309305'><B>3. </B>Isn't there a bootstrapping problem? </A></P></DIV> <DIV class=answer> <P><B></B>No, not really. Don't forget we can use Perl5 to run Perl5 programs, such as a Perl5 to Parrot compiler. </P></DIV></DIV> <DIV class=qandaentry> <DIV class=question> -<P><B>4. </B>How will Parrot handle both Perl5 and Perl6? </P></DIV> +<P><A name='id304989'><B>4. </B>How will Parrot handle both Perl5 and Perl6? +</A></P></DIV> <DIV class=answer> <P><B></B>We don't know yet, since it depends on the Perl6 language definition. But we <SPAN class=emphasis><I>could</I></SPAN> use the more appropriate of two @@ -291,49 +291,49 @@ </P></DIV></DIV> <DIV class=qandaentry> <DIV class=question> -<P><B>5. </B>Is this how Parrot will run Python, Ruby and Tcl code? </P></DIV> +<P><A name='id303224'><B>5. </B>Is this how Parrot will run Python, Ruby and Tcl +code? </A></P></DIV> <DIV class=answer> <P><B></B>Probably. </P></DIV></DIV> <DIV class=qandaentry> <DIV class=question> -<P><B>6. </B>Latin and Klingon too? </P></DIV> +<P><A name='id303924'><B>6. </B>Latin and Klingon too? </A></P></DIV> <DIV class=answer> <P><B></B>No, Parrot won't be twisted enough for Damian. Perhaps when Parrot is ported to a pair of supercooled Calcium ions, though... </P></DIV></DIV> <DIV class=qandaentry> <DIV class=question> -<P><B>7. </B>Huh? </P></DIV> +<P><A name='id305187'><B>7. </B>Huh? </A></P></DIV> <DIV class=answer> <P><B></B>You had to <A href="http://www.csse.monash.edu.au/~damian/papers/#Superpositions" target=_top>be there</A>. </P></DIV></DIV></DIV> <DIV class=qandadiv> -<H3 class=title>3 Parrot Implementation issues</H3> +<H3 class=title><A name='id305886'>3 Parrot Implementation issues</A></H3> <DIV class=qandaentry> <DIV class=question> -<P><B>1. </B>What's with this whole register machine thing? </P></DIV> +<P><A name='id305765'><B>1. </B>What's with this whole register machine thing? +</A></P></DIV> <DIV class=answer> <P><B></B>Not much, why do you ask? </P></DIV></DIV> <DIV class=qandaentry> <DIV class=question> -<P><B>2. </B>Don't you know that stack machines are the way to go in software? -</P></DIV> +<P><A name='id306735'><B>2. </B>Don't you know that stack machines are the way to go +in software? +</A></P></DIV> <DIV class=answer> <P><B></B>No, in fact, I don't. </P></DIV></DIV> <DIV class=qandaentry> <DIV class=question> -<P><B>3. </B>But look at all the successful stack-based VMs! </P></DIV> +<P><A name='id306717'><B>3. </B>But look at all the successful stack-based VMs! +</A></P></DIV> <DIV class=answer> <P><B></B>Like what? There's just the JVM. </P></DIV></DIV> <DIV class=qandaentry> <DIV class=question> -<P><B>4. </B>What about all the others? </P></DIV> +<P><A name='id307312'><B>4. </B>What about all the others? </A></P></DIV> <DIV class=answer> <P><B></B>*What* others? That's it, unless you count perl, python, or ruby. </P></DIV></DIV> <DIV class=qandaentry> <DIV class=question> -<P><B>5. </B>Yeah, them! </P></DIV> +<P><A name='id307491'><B>5. </B>Yeah, them! </A></P></DIV> <DIV class=answer> <P><B></B>Yeah, right. You never thought about them as VMs, admit it. :) </P> <P>Seriously, we're already running with a faster opcode dispatch than any of @@ -341,13 +341,13 @@ </P></DIV></DIV> <DIV class=qandaentry> <DIV class=question> -<P><B>6. </B>Right, smarty. Then name a successful register-based VM! </P></DIV> +<P><A name='id307714'><B>6. </B>Right, smarty. Then name a successful register-based +VM! </A></P></DIV> <DIV class=answer> <P><B></B>The 68K emulator Apple ships with all its PPC-enabled version of MacOS. </P></DIV></DIV> <DIV class=qandaentry> <DIV class=question> -<P><B>7. </B>Really? </P></DIV> +<P><A name='id308673'><B>7. </B>Really? </A></P></DIV> <DIV class=answer> <P><B></B><A href="http://developer.apple.com/techpubs/mac/PPCSoftware/PPCSoftware-13.html" -- Bryan C. Warnock [EMAIL PROTECTED]