Compilers
- Rakudo is copyrighted by the Perl Foundation, was born and raised in the Parrot virtual machine, and is actively developed here. Download or compile Rakudo.
- Niecza is a compiler targetting the Common Language Runtime (.NET and Mono). Its goal is to explore the static aspects of Perl 6 and the possibilities for compile-time optimization.
- STD is Larry Wall's reference implementation of the Perl 6 grammar, parser generator, and some of the semantic verifier. STD is an abbreviation of "Standard", as in "Perl6.0.0-STD". It is written in Perl 6, transliterated into Perl 5 by viv. It is also used by various phases of several other compilers (mildew, perlito, elf).
- viv ("vi" to "v", 6 to 5) is a compiler that uses STD as its front-end. STD itself uses viv to build. It is actively developed along with STD.
- Perlito, also known as MiniPerl6, is a subset of Perl 6, designed as a light bootstrapping language. You can try it online. It is actively developed here.
- Yapsi is Yet Another Perl Six Implementation, an implementation of a Perl 6 compiler-and-runtime in Perl 6. Yapsi issues monthly releases and is actively developed.
- Sprixel was a Perl 6 compiler targetting the Common Language Runtime (.NET and Mono). It has a storied history (many total rewrites), but it intended to implement a small strongly/natively-typed functional-programming subset of Perl 6 ("perlesque"), but specifically the flavor of Perl 6 used by STD, to facilitate quick bootstrapping of the official STD grammar and Cursor parser engine to the CLR. It is no longer actively developed.
- Pugs is written in Haskell. Maintenance releases for successive versions of ghc are published to Hackage. The most recent (6.2.13.20110519 as of this writing (2011-07-27)) was released 2011-05-19.
Feature matrix
To see which compilers implement which Perl 6 features, please see our feature comparison matrix.
Supplementals
- Blizkost is a Perl 5 bridge for Parrot, making Perl 5 code available from Rakudo and other parrot-based compilers.
- Rakudo's setting library