We're pleased to announce that we've selected Steve Peters as the recipient of the first Perl 6 microgrant. Steve has been instrumental in helping to ensure that Perl 5 has stayed incredibly portable for the past few years. Steve's starting to turn some of his attention to Parrot. You can find details of the project he's planning in the text of his grant application:
There are several problems currently with Parrot's portability, which may inhibit its adoption as a run-anywhere VM. This problem will be a major obstacle in the Perl6-to-Parrot solutions that have been proposed.Steve will be blogging about his grant progress in his use.perl.org journal.
Some of these problems include:
These are the failures I have personally experienced. I suspect there may be additional problems on other OSes and platforms as well since there seems to be very spotty coverage of HP-UX and Solaris based on results seen on the Parrot smoke report website.
- Failures to successfully link a Parrot executable with gcc on Cygwin.
- Failures to successfully link a Parrot executable with icc or suncc on Linux.
- Failures to successfully link a Parrot executable with Borland C++ on Windows.
Having worked with the Perl 5 core for a few years now, I have a good deal of experience in this area. I currently smoke test Perl on four different operating systems with seven different compilers. I have worked to get Intel C++ and Sun Studio compiling Perl without failures on Linux. I am also currently working with Sun in their early access program to test out their new Sun Studio 12 compilers on both Linux and Solaris.
For completion of this grant, I believe the following would be the bare minimum needed for a successful project.
Additional planned work:
- Successful completion of a full Cygwin compile of Parrot and application of necessary patches to Parrot. Test failures should be in line with what is observed on Linux or Mac OS X. That is clean up any test failures that seem to be platform specific to Cygwin.
- Similarly, compiling Parrot with Intel C++ and Sun Studio 12 for Linux, application of any necessary patches, and cleanup of compiler specific issues.
- Compiling Parrot with Borland C++ on Windows with application of necessary patches to the Parrot core. Cleanup of compiler specific issues with necessary additional changes patched in the Parrot core.
- Investigation into gmake "-j" support to allow for parallel building of Parrot.
- Additional cleanup for other OSes including (but not limited to) NetBSD, OpenBSD, and FreeBSD.
- Testing and cleanup for Solaris (x86 and Sparc) and HP-UX if needed. As I only have guest access for the majority of these platforms, the work is dependent on continued access to these systems. As long as I have the access, though, I plan to treat this deliverable similarly to the others.
Please join us in wishing him the best of luck with his project. We're really looking forward to seeing the results of this work.
If you're interested in submitting a Perl 6 microgrant proposal, you can find details here.