Content deleted Content added
Notifying of internal link to section Syntactic simplification from Ellipsis |
WillColeda (talk | contribs) →Implementations: - add link to parrot. |
||
Line 25:
==Implementations==
Pugs is an implementation of Perl 6 written in [[Haskell (programming language)|Haskell]]. It is currently the closest thing to a full implementation of Perl 6. It will be used for [[Bootstrapping (compilers)|bootstrapping]], providing a platform on which to write the Perl 6 compiler in Perl 6, and the test suite to validate it. This could, for example, involve translating the Pugs Haskell [[source code]] to Perl 6.<ref>{{cite web | url=http://www.pugscode.org/ | title=pugscode: Pugs | author=[[Audrey Tang|Tang, Audrey]] | year=2005 }}</ref> After that, Perl 6 will be [[self-hosting|self-hosted]]—it will be used to [[compiler|compile]] itself. Much of the implementation of Perl will then be exposed to programmers using the language. For example, this would make it possible to extend the parser from within a program or library. Pugs can execute Perl 6 code directly, and has also compiled Perl 6 to [[JavaScript]], [[Perl|Perl 5]] and [[Parrot virtual machine|Parrot]] [[bytecode]]. Lacking funding, even the key developer [[Audrey Tang]] is only working part time, so progress has not been as rapid as many wish.
[[Parrot virtual machine|Parrot]] is a [[virtual machine]] designed for interpreted languages, primarily for Perl 6. The self-hosting Perl 6 compiler will (according to plan) target and also run on Parrot.<ref name="syn01">{{cite web | url=http://dev.perl.org/perl6/doc/design/syn/S01.html | title=Synopsis 1: Overview | author=Wall, Larry | date=[[2004-08-10]] }}</ref><ref name="selfhost">{{cite web | url=http://www.pugscode.org/talks/yapc/slide71h.html | title=Perl 6 Is Here Today: Self hosting approach | author=[[Autrijus Tang|Tang, Autrijus]] | year=2005 | publisher=pugscode.org}}</ref>
|