-
Notifications
You must be signed in to change notification settings - Fork 1
Currently there is no stable release, but you can download, compile and install Piledriver just like Perl 5.
Your existing Perl 5 code will run normally on Piledriver. If it doesn't, please let us know. You can convert your code to use Piledriver features (once we have some) a piece at time using the lexical use piledriver pragma.
Piledriver is a 100% backwards compatible fork of Perl 5.
This is a complete fork, code and community. We aim to provide a faster track for aggressive changes than the existing Perl 5 development process allows. Patches may be sent upstream to Perl 5. Piledriver will update from stable releases of Perl 5.
There isn't one. Not formally. We'll just steal ideas.
Piledriver is for people who use Perl 5, they'd just like an improved Perl 5. Maybe they like Perl 5. Maybe they work on projects already written in Perl 5. Maybe both?
We believe there are a great many excellent people who love Perl, and would like to contribute to Perl, but do not wish to go through the existing Perl 5 development process. We intend to attract that population and build the community of who can work on the Perl 5 core.
Yes. There will be some lag time after a new Perl 5 stable release as the code is merged and tested.
As we get more aggressive with our changes that's going to be trickier, XS has a lot of undocumented behaviors. We may choose to patch critical CPAN modules that rely on undocumented XS features, as well as adding to XS porting mechanisms such as Devel::PPPort, than preserve them.
Perl 5 already does it with use feature and use v5.x. Piledriver will use the same mechanisms, but more aggressively. All Piledriver changes will be off by default. They can be turned on for selected blocks of code using something like a use piledriver v1 pragma.
They will certainly be submitted to Perl 5. Whether they are accepted is not under our control. It would make developing Piledriver much easier for the two to be as similar as possible.
No, there's no plans for that. Modules which depend on Piledriver will have some way to indicate that to compatible with CPAN tools, probably with a dependency on a Piledriver module.
Piledriver will improve on Perl 5 by experimenting with different community tools. There will be some sort of forum and chat system. It's not likely to be IRC or a mailing list. For now it's just Github.
perl5i::2 will remain. Good ideas will be harvested. Future development is yet to be determined.
It will if you propose it and somebody makes it happen. A feature which is already implemented as a successful CPAN module has the best chance.
Piledriver will not be nearly as compatible with old compilers and operating systems as Perl 5. It will have a well defined set of environments it is tested to run in. This is most likely to affect administrators of legacy systems.
In the quest to simplify development, Piledriver will likely drop a lot of special code for very obscure or very broken operating systems and tools. In addition, Piledriver has taken a great leap forward to 1999 and is programmed in C99, a slightly updated version of C. Unfortunately not every compiler supports C99. In particular Visual C++, the major compiler on Windows, just got on the ball. We will work hard to ensure Piledriver works as well on Windows as on Unix.
The idea is working in Perl 5 is like building on sand. You need to load dozens of CPAN modules to turn Perl 5 into a solid language for development like you have to drive piles deep into the Earth before you can build on sand. Piledriver aims to do that work for you so that out of the box you can just start coding.
Yeah, it's not the best.