The Perl Compiler B::C is released (again)

rurban on 2009-12-18T14:03:40

On December 18, 1987 Larry Wall released Perl 1 to the public. 1995 Malcolm Beattie took the chance to win a laptop and wrote the Perl compiler until 1997, which compiled to bytecode (.plc and .pmc) and C, and subseqently to native code via perlcc.

On Mai 7, 2007 the compiler suite was removed from CORE, and I took the chance to port it to 5.10, fix most of the remaining bugs and improve it.

I'm happy to announce after two years of work that today, on the Perl birthday, the Perl compiler is released for 5.10 and 5.11, and fixes a lot of bugs for 5.6 and 5.8 also. It is the first public compiler re-release since it was removed from CORE.

There are still a couple of bugs and limitations, but is actively used and actively maintained and there are a lot of plans to increase performance in subsequent releases. This is the main bugfix and new port release. The Bytecode compiler for 5.10 and higher still has some more bugs, keeping B::C bugfree is the main target for now.

I haven't tested it against the perl CORE tests yet, just against it's own enhanced testsuite and on a couple of bigger programs.

See http://search.cpan.org/dist/B-C and http://cpansearch.perl.org/src/RURBAN/B-C-1.06/README> for more.
Many thanks to Nick Koston from cPanel to persuade me to continue my work from last year. They are using it in big applications.

Reini Urban, Dec 18 2009


Yes.

scrottie on 2009-12-18T17:26:38

Awesome. I gave a talk at the last YAPC::NA, _Perl in Vegas_, and talked about how Perl made a difficult (yet to be accomplished by another company) task possible, and how various features in Perl came into play. Regulatory complaince was the main hurdle. Source filters let us encrypt modules and decrypt them on load. Bytecode compilation lot us comply with regulations that the program source code not be packaged or distributed in source code form. Even though Perl can be decompiled very effectively, this allowed us to comply with regulations. There were some others. I forget. That's my contribution to the great debate -- sometimes compilation is necessary for non-technical reasons. That's not to say that there aren't good technical reasons, but that's a seperate matter. Anyway, thank you very much for this. I'm very happy to see this.

Fantastic!

glav on 2009-12-22T17:52:08

Absolutely fantastic news. Thanks for all your hard work!