Preview release | #47 "Columbus" / December 22, 2011 |
---|---|
Operating system | Linux, Windows, FreeBSD |
Type | Compiler |
License | Artistic License 2.0 |
Website | www.rakudo.org |
Rakudo Perl is a compiler that implements the Perl 6 specification and runs on the Parrot virtual machine.[1] Rakudo Perl is currently in development.
Originally developed within the Parrot project, its source code repository was split from that project in February 2009 so that it could be developed independently, though at that time there were still many dependencies. One goal is to rewrite methods using higher-level Perl 6 syntax, instead of Parrot intermediate representation (PIR), an assembly language. Rakudo Perl uses several different programming languages to implement the Perl 6 specification.[2]
The monthly releases are synchronized with the monthly releases of Parrot, but occurring two days later[3] so that Rakudo may implement changes necessitated by Parrot. Rakudo Perl #14 was released in February 2009, codenamed Vienna after the Perl mongers group that had sponsored one of its developers since April 2008. Subsequent releases have used codenames based on Perl mongers groups; the most recent release as of December 2011, #47, is codenamed Columbus.[4]
The first major release of a distribution of both compiler and modules (named "Rakudo *" or "Rakudo Star") was released on July 29, 2010.[5] After the January 2011 release, subsequent releases will be made every three months.[6] The most recent release of Rakudo Star was made on July 21, 2011.[7]
The name "Rakudo" for the Perl 6 on Parrot compiler was first suggested by Damian Conway.[8] "Rakudo" is short for "Rakuda-dō" (with a long 'o'; 駱駝道), which is Japanese for "Way of the Camel". "Rakudo" (with a short 'o'; 楽土) also means "paradise" in Japanese.
The term "Rakudo Perl" was also chosen to distinguish between the name of a language implementation ("Rakudo") from the name of the language specification ("Perl 6"). To understand why, one must understand that Perl 6 is a specification and any implementation (Perl 6 Compilers) that passes the official test suite could call itself “Perl 6”. There are currently several implementations at various levels of maturity.[9]