Frequently Asked Questions

Everything You Ever Wanted To Know About RPerl.

Free & Open Source on GitHub

Frequently Asked Questions

Last Update: July 7th, 2015

Table Of Contents

Who needs RPerl?
What is RPerl?
When will RPerl v1.0 be released?
Where can I download RPerl now?
Why should I care about RPerl?
How much does RPerl cost?

Who is on the RPerl development team?
What are the RPerl mascots?
What is Free & Open Source Software?
What is The Book Of RPerl?
What is Perl 11?
What is magic?
Why is magic not always a good thing?
Why should I care about Perl, much less RPerl?
How fast does RPerl code run?
How is RPerl development funded?

How does RPerl work?
How can I get RPerl installed on my operating system?
How can I get RPerl to compile my code?
How can I get technical support for RPerl?
How can I contribute my technical skills?
How can I contribute my financial resources?

Q: Who needs RPerl?

A: Normal computer users will like running RPerl compiled apps because the software will run up to hundreds of times faster than Perl interpreted apps. RPerl v2.0 will further empower them to finally take full advantage of all the shiny, new multi-core processors and cloud accounts. Software developers will like programming in RPerl because it will provide superior serial performance, and RPerl v2.0 automatically parallelize their applications to be compatible with current and future high-performance computing platforms.

Q: What is RPerl?

A: RPerl is the optimizing compiler for the popular Perl 5 programming language. RPerl stands for Restricted Perl, in that we restrict our use of Perl to those parts which can be made to run fast. RPerl also stands for Revolutionary Perl, in that we hope RPerl's speed will revolutionize the software development industry. RPerl might even stand for Roadrunner Perl, in that it RUNS REALLY FAST.

Q: When will RPerl v1.0 be released?

A: RPerl v1.0 was released on July 4th, 2015. Happy Independence Day!

Q: Where can I download RPerl now?

A: Pre-release RPerl source code can be found on Github.
Production RPerl source code can be found on CPAN.

Q: Why should I care about RPerl?

A: Perl 5 is very slow for many common cases. RPerl helps solve that problem for you. All new computers come equipped with parallel multi-core processors. Common apps are not designed to take advantage of those parallel cores or the cloud. RPerl v2.0 will help solve that problem for you.

Q: How much does RPerl cost?

A: RPerl is 100% free-of-charge and is licensed under the same terms as Perl 5.22.0. This means you can use RPerl for free at home or at work, but you can't re-sell RPerl without the source code and you can't change the copyright terms.

Q: Who is on the RPerl development team?

A: Will Braswell is the lead RPerl developer, with design input from the Perl 11 team.

Q: What are the RPerl mascots?

A: RPerl is represented by 3 mascots, one each in the traditional groups of animal, vegetable, and mineral. A roadrunner bird named "Roady" is our animal mascot. Roady runs really fast, just like RPerl. A scallion named "Skinny" is our vegetable mascot. Skinny is the smaller and thinner cousin of the onion, which is the vegetable mascot of Perl. A sword named "Swingy" is our mineral mascot. Swingy is the mundane weapon-of-choice for battle against the forces of magic.

Q: What is Free & Open Source Software?

A: RPerl is free, so you don't have to pay to use RPerl. RPerl is open-source, so you can look at the RPerl source code and even help upgrade RPerl if you are a software developer.

Q: What is The Book Of RPerl?

A: The Book Of RPerl is an allegorical re-telling of the history of Perl, leading up to the creation of Perl 11 and RPerl. It talks a lot about symbolic animals, vegetables, and minerals.

Q: What is Perl 11?

A: Perl 11 is the philosophy that Perl should be made modular ("pluggable") on the 3 primary levels of source code lexer/parser, compiler/AST, and runtime/interpreter/VM. Perl 11 is not an actual version number Perl release like Perl 4, Perl 5, and Perl 6. One of the goals of Perl 11 is to work toward unification of Perl 5 and Perl 6, thus 5 + 6 = 11. There are multiple independent projects under the Perl 11 umbrella, one of which is RPerl. RPerl is an implementation of the Perl 11 philosophy. Perl 11 was created by Ingy dötNet, Reini Urban, and Will Braswell on September 18th, 2012 in Austin, TX.

Q: What is magic?

A: Perl was built to "make hard things easy". To achieve this, quite a lot of complexity was built into the Perl core, and hidden from the software developers who program in Perl to create applications. This hidden complexity in Perl is literally called "magic" in the Perl core source code. In addition, magic can further refer to any of the weird, wacky, or especially-complicated features of Perl.

Q: Why is magic not always a good thing?

A: During the quarter-century of Perl's existence, more-and-more magic has been added to make Perl more-and-more powerful. The cumulative effect of piling magic-on-magic-on-magic is that the Perl 5 core is now almost unmanageably complex, and only a handful of professional Perl core developers can make even minor changes without breaking everyone's existing Perl applications. This is known as the need to maintain bug-for-bug backward compatibility. Also, all the magic has made Perl 5 run very, very slow for normal non-magic applications, which run fast in all other popular programming languages. So basically, magic makes Perl incredibly powerful, but also very slow and unmanageable in the long-term.

Q: Why should I care about Perl, much less RPerl?

A: Much of the Internet was built using Perl and still runs Perl underneath all the new JavaScript and CSS. Perl is a very mature and well-known language. Perl has a dedicated and thriving world-wide community of software developers. Perl is legally and logistically supported by the Perl Foundation.

Q: How fast does RPerl code run?

A: Early tests show the potential to run RPerl apps about 7x faster than normal Perl 5 when using Perl data structures, and up to 170x-350x faster when using C++ data structures. This does not include any fancy optimization techniques which could add even more speed in the future.

Q: How is RPerl development funded?

A: RPerl is made possible by the generous support of people like you.

Q: How does RPerl work?

A: The input to the RPerl compiler is low-magic Perl 5 source code. RPerl converts the low-magic Perl 5 source code into C++ source code using Perl and/or C++ data structures. Inline::CPP converts the C++ source code into XS source code. Perl's XS tools and a standard C++ compiler convert the XS source code into machine-readable binary code, which can be directly linked back into normal high-magic Perl 5 source code. The output of the RPerl compiler is fast-running binary code that is exactly equivalent to, and compatible with, the original low-magic Perl 5 source code input. The net effect is that RPerl compiles slow low-magic Perl 5 code into fast binary code, which can optionally be mixed back into high-magic Perl apps.

Q: How can I get RPerl installed on my operating system?

A: Run the command cpan RPerl or see the INSTALL notes for more information.

Q: How can I get RPerl to compile my code?

A: See step 3 of the INSTALL notes for simple examples, and the `rperl` command documentation for more information.

Q: How can I get technical support for RPerl?

A: You can do one or more of the following:

Q: How can I contribute my technical skills?

A: A good place to start is to get RPerl installed on your system and run the test suite. Then, contact us with ideas about what you'd like to work on. We'd love to have you join the RPerl development team!

Q: How can I contribute my financial resources?

A: We are currently seeking funding in the form of private investment and grants. Our first Kickstarter campaign was a success. Meanwhile, please visit the RPerl home page and contact us directly with ideas about how you'd like to support RPerl development. Thanks!!