Perl 6
Implementations: Revision 9
Perl 6 has several compilers and interpreters, and none is called "official Perl 6". Larry Wall has explained that anything that passes the test suite, is Perl 6. So far only partial implementations have been made, as listed below. With their feedback, the Synopses that form the language specification are evolving, and so is the test suite.

* [Rakudo] is currently the most feature rich and the most actively developed implementation. It runs on [Parrot], a virtual machine for many dynamic languages.

* [Pugs] was the leading implementation from 2005 until about 2007. It runs on Haskell, a language for functional programming.

* [] is "the" canonical Perl 6 grammar, written in a subset of Perl 6. Unfortunately no implementation can fully parse yet, let alone build a compiler or interpreter based on it. However, by means of the "viv" tool described next, Perl 6 source code can be parsed by a near equivalent running in Perl 5.

* [viv] is a derivation of for testing and bootstrapping purposes. A utility called "gimme5" creates viv by translating into Perl 5. This is possible because Larry very carefully wrote in a translatable subset of Perl 6.

* [Mildew] is a Perl 5 based compiler that embeds viv, and can emit code for several runtime engines, including JavaScript and SMOP.

* [SMOP] is Simple Meta Object Protocol, a design for a C based interpreter to execute

* [Sprixel] started out as a runtime using Google's V8 JavaScript engine

* [Elf]

* [Perlito]

* [NQP]

Upload Files

Click "Browse" to find the file you want to upload. When you click "Upload file" your file will be uploaded and added to the list of attachments for this page.

Maximum file size: 50MB

File Name Author Date Uploaded Size

Save Page As

Enter a meaningful and distinctive title for your page.

Page Title:

Tip: You'll be able to find this page later by using the title you choose.

Page Already Exists

There is already a page named XXX. Would you like to:

Save with a different name:

Save the page with the name "XXX"

Append your text to the bottom of the existing page named: "XXX"

Upload Files

Click "Browse" to find the file you want to upload. When you click "Add file" this file will be added to the list of attachments for this page, and uploaded when you save the page.

Add Tags

Enter a tag and click "Add tag". The tag will be saved when you save the page.