Frequently Asked Questions

Everything You Ever Wanted To Know About RPerl.

Free & Open Source on GitHub

Frequently Asked Questions

Last Update: July 5th, 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 apps because it will empower them to finally take full advantage of all their shiny, new multi-core processors and cloud accounts. Software developers will like programming in RPerl because it will automatically parallelize their applications to be compatible with current and future high-performance computing platforms.

Q: What is RPerl?

A: RPerl is an upgrade to the popular Perl 5 programming language. RPerl gives software developers a compiler to make their apps run really fast on parallel computing platforms like multi-core processors, the cloud, clusters, and supercomputers. 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 at Github. https://github.com/wbraswell/rperl

Q: Why should I care about RPerl?

A: 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 helps 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.18.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 hand-compiled tests show the potential to run RPerl apps about 7x faster than normal Perl 5 when using Perl data structures, and up to 200x 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: First, be a competent software developer. Second, download the RPerl source code from Github. Third, read the install_notes.txt document.

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

A: Only the hand-compiled RPerl code is currently available. We're working on the automated compiling mechanisms now. So you can either hand-compile your code to use the RPerl data structures, or help finish the RPerl compiler.

Q: How can I get technical support for RPerl?

A: You can either: join the RPerl repository on Github and officially file an issue (bug report); post your question to the Seekers of Perl Wisdom forum on Perl Monks and send a message to Perl Monks user Will_the_Chill; or visit the RPerl homepage for direct contact info.

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!!