Quick jump:  What's new

 
Go to:
 
Weblog: Recent Changes 
in Perl 6
Implementations

This is the rather outdated list of implementations of Perl 6 as of 2011

Please find more up-to-date information on http://perl6.org/compilers/

Original List with updated notices

There is no official or reference Perl 6 implementation, as exists with Perl 5. Instead, there is a language specification that began with Apocalypses and evolved through Exegeses and Synopses. Recently, the test suite is what actually defines the language properly. The Synopses and test suite continuously evolve together. Even though only one compiler is currently actively being developed, Larry Wall has clarified that anything that passes the test suite is Perl 6. With the feedback gained from the implementations, the Synopses and the test suite that forms the language specification are evolving. This page is about the various partial implementations that exist, which can parse and execute Perl 6. Virtual machines and runloops are excluded because they do not deal with Perl 6 source code.

  • Rakudo is currently the only actively developed implementation. It is feature-rich and runs rather well. It used to run on Parrot, a virtual machine for many dynamic languages. Nowadays, it runs on MoarVM and the JVM (Java Virtual Machine). A branch to port it to run on JavaScript compilers like v8 is also in development.
  • Niecza used to be the fastest implementation by far. The development was lead by Stefan O'Rear. It is now very far from feature-parity with Rakudo, though.
  • Pugs was the leading implementation from 2005 until about 2007. It runs on GHC Haskell and helped to develop the test suite.
  • viv is a derivation of STD.pm for testing and bootstrapping purposes. A utility called "gimme5" creates viv by translating STD.pm into Perl 5. This is possible because Larry very carefully wrote STD.pm 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.
  • Sprixel started out with viv as the source code parser and Google's V8 JavaScript engine as a runtime interpreter.
  • Elf is a compiler written in Perl 6 with Perl 5 and Lisp backends.
  • vill connects STD.pm to the LLVM (Low Level Virtual Machine) compiler tools.
  • Perlito, formerly known as MP6 (mini Perl 6), is a Perl 6 subset build by Flavio Glock for bootstrap purposes.
  • v6 is a Perl 6 compiler for Perl 5.

Historical Implementations are definitely closed projects.

permalink
Perl 6 apps and modules

The best source of information on perl6 apps and modules is the module listing:

http://modules.perl6.org/

permalink
Perl 6 for Perl 5

Inline::Perl6 makes Perl6 code, subs, and objects available to perl5 code.
v6 is an outdated project to bring Perl 6 to perl (the Perl 5 interpreter).

In general, Perl 6 features have inspired new features in perl5, as well. If you know a good address that talks about this, please add a link here.

permalink
v6

There used to be an effort based on perlito to bring Perl6 to the perl5 language. It was created by fglock and you can still find the module on CPAN. However, it is quite outdated by now. Another way to bring Perl6 to the perl5 language and interpreter is to use Inline::Perl6, which was made by nine (Stefan Seifert). You can find that module on cpan, as well.

Perl 6 features are also coming to Perl 5 in other ways, see Perl 6 for Perl 5.

permalink
feather

Note of Deprecation

Feather has been decommissioned some time during 2015. It was replaced by the "p6c" server, the Perl 6 Community server. Find more information about that server on http://p6c.org/ or in the https://github.com/perl6/infrastructure-doc/tree/master/hosts "infrastructure documentation" repository on github.

Old Information

Feather is the name of a previous shared Perl 6 development server. The original machine was sponsored by Convolution, and subsequent hardware upgrades were sponsored by The Perl Foundation, Stichting Perl Promotie Nederland (Dutch Foundation for the Promotion of Perl), and several individual contributors. Convolution continued to sponsor colocation and bandwidth, and basic administration. Software maintenance was mostly done by trusted users with sudo access.

Initially provided because using Pugs and GHC was relatively hard without the help of modern Unix-ish operating systems, feather later became a nexus of all kinds of Perl 6 related activities. It was used for file sharing, e-mail and IRC communication, and testing. Several Perl 6 websites were hosted on feather. Some people used it as their main shell environment for working on Perl 6.

Requesting access to feather

Feather's main goal was supporting Perl 6 development. This was not limited to the Perl 6 language design, but also included work on all the Perl 6 implementations, and Parrot. Modules and programs written in Perl 6 could also have their home on feather, if their authors worked with the Perl 6 community to report and resolve bugs.

Anyone who wanted to work on any of these projects, could request an account by e-mail to Juerd, in which they state at least their full name and why they want access. New accounts were generally created within a few days.

Hardware

Feather used to be based on the following hardware:

  • Intel Core2 Duo E6550
  • 4 GB RAM
  • 3 disk RAID 1, 160 GB S-ATA300

Software

Feather was divided into Xen virtual machines, or "domains". Without further specification, "feather" refers to either the entire machine, or to "feather1", the virtual machine with semi-public shell access.

Virtual machines

Hostname Purpose Operating system Not in use any more
feather0 Xen Domain-0 Debian Not in use any more
feather1 Very diverse Debian Not in use any more
feather2 Stable server platforms, like websites, SVN repositories Debian Not in use any more
feather3 Public eval mechanisms, like runpugs and evalbot Debian Not in use any more

(Feather used 32 bit Linux.)

permalink
Glossary of Terms and Jargon

This page used to host explanations for a few jargon terms. However, the S99 from the Perl 6 design docs are much more comprehensive and kept up-to-date.

http://design.perl6.org/S99.html "Synopsis 99: Glossary"

permalink
Perl 6 microarticles

This page was vastly unfinished and remains very outdated. That's why its contents have been removed.

The page Articles and Presentations may have a good link for you to follow.

permalink
Perl 6 Donors, Sponsors, and Supporters

This page is out of date!

This page has not been updated since the last entry (2009-03-06) and I can't tell how many donations have been missed before that, nor how many donations have been made since then.

The list below is only of historic interest.

List of Donors up to 2009

  • 2009-03-06 -- $1,000 -- Conrad Schneiker funds a Wiki written in Perl 6.
  • 2008-05-29 -- €1,000 -- DeepText funds a grant for Jonathan Worthington to work on Rakudo Perl 6:
    • DeepText made a minigrant of 1000 € to Jonathan Worthington for working 40 hours on Rakudo development during July and August of 2008. The purpose of the grant is to support implementing as many of multiple dispatch abilities in Perl 6 design as possible to code having these working hours.
    • See Jonathan Worthington Receives a Grant from DeepText for Perl 6 Development for more details.
  • 2008-05-14 -- $200,000 -- Ian Hague: Ian Hague funds Perl 6 development through the Perl Foundation. From Perl Buzz and TPF News:
    • On May 14, 2008, The Perl Foundation received a philanthropic donation of US$200,000 from Ian Hague. Mr. Hague is a co-founder of Firebird Management LLC, a financial fund management company based in New York City. This donation was the result of extensive discussions between Mr. Hague, The Perl Foundation and a Perl community member who wishes to remain anonymous.
    • The purpose of the donation is to support the development of Perl 6, the next generation of the Perl programming language. Roughly half of the funds will be used to support Perl 6 developers through grants and other means. The balance of the funds will be used by The Perl Foundation to develop its own organizational capabilities. This will allow The Perl Foundation to pursue additional funding opportunities to support Perl 6 development. Mr. Hague wants his contribution to be seed funding in that effort.
    • The Perl Foundation thanks Mr. Hague in the deepest possible terms. This donation is unprecedented in its generosity, scope and vision, and it is precisely what was needed at this junction in the development of Perl 6. We look forward to the greatest of successes with Perl 6, and this contribution is a key part of making that happen. The Perl Foundation will communicate further developments with the Perl community and Mr. Hague as the pieces of this plan are executed.
  • 2008-04-25 -- €1,800 -- Vienna.pm: Vienna.pm funds Jonathan Worthington to work on Rakudo Perl. From Perl Buzz:
    • From Thomas Klausner:
    • At the Oslo QA Hackathon 2008, during one evening meal, it became evident that Jonathan Worthington would be able to spend even more time hacking on Rakudo Perl if he would get paid a little money for it. As Vienna.pm still has some money earmarked for Perl development, we encouraged Jonathan to send us a proposal for funding him. Which he did. And which we accepted.
    • So starting next week, Jonathan will work on Rakudo one full day a week (minimum of 8 hours of work), post about the work on the rakudo.org blog / use.perl.org. He will recieve €150 per day spend working on Rakudo. We estimate that on average he will work 4 days per month. We agreed on funding three months (~ €1,800) and evalute the grant after that time. If everybody is happy, we will continue the grant until the end of 2008, where we will evaluate again (and check if we still have money left).
    • More info available in the WoC Wiki.
  • 2007-11-06 -- $10,000 -- The Mozilla Foundation: The Mozilla Foundation and the Perl 6 on Parrot Grant. From TPF:
    • It is with great pleasure that The Perl Foundation and Mozilla Foundation announce a major new Perl 6 Development Grant. The recipient of the grant is Patrick Michaud, the Perl 6 compiler pumpking and lead programmer of a Perl 6 implementation based on Parrot and on his own work on the Perl 6 compiler and grammar. The grant will provide Patrick with four months of support for this work beginning November 1, 2007. Patrick will receive US$15,000 over this time, with $10,000 of the funding coming from Mozilla Foundation and $5,000 from The Perl Foundation.
    • The goals for this development grant are:
      1. To have a Perl 6 on Parrot implementation that supports commonly-used Perl 6 constructs;
      2. Improvements to the Perl 6 test suite;
      3. To substantially complete the Parrot Compiler Toolkit, including documentation;
      4. Increased community participation in Perl 6 and Parrot development, including development efforts on other languages utilizing Parrot and the Parrot Compiler Toolkit.
    • In order to ensure the proper management and progress for this grant TPF asked Jesse Vincent to be the Grant Manager. Jesse has graciously accepted this volunteer position. Jesse is a noted Perl community member and he has worked as the Perl 6 project manager for the past several years. Additionally, he (through his company, Best Practical Solutions) has supported the Perl 6 effort through a series of microgrants.
  • 2005-04-?? -- $70,000 -- NLNet: Parrot Grant from NLNet. From TPF:
    • In 2005, the Perl Foundation asked NLNet, a Dutch foundation, for a grant to fund long-term work on Parrot, with the goal of getting Parrot to 1.0 release. The grant was divided into four milestones. In April of 2005, NLNet agreed to provide $70,000 worth of funding to the Perl Foundation for the first two milestones of this grant, $35,000 per milestone.
    • The grant's structure was slightly modified in Fall of 2007 in order to add more subsystems, and to remove the start and end of milestone payments.

Sponsors

Ongoing

Others

permalink
FUD

The FUD page was deemed no longer necessary, as it got very out of date. Sorry about the loss of humor!

permalink
FAQ

You can find the most up-to-date FAQ about Perl 6 related questions hosted on https://faq.perl6.org/

permalink
Weblog Navigation
Loading...
Weblog Archives
  • Loading...

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.

Tag: 

Suggestions: