2011 is now Compiling!

Ah, 2011. Another year has come, and people cut holes in the first ‘1’ to manage to create those stupid glasses. That’s cheating.

Not surprisingly, #perl6 was pretty empty all throughout New Year’s (Eve&Day). It only ever lit up for discussions of time, once people started welcoming the new year. What doesn’t help my fascination with Time right now is the fact that there is a Doctor Who marathon on BBC America, running from New Year’s Eve all the way to some-o-clock tonight, New Year’s Day.

Ah well. With the new year comes not only my Pod parser coming closer to being realized [in a glacial sense :)], but my ambitious new project idea: a frontend for GCC.

Why? Well, it would be nice to be able to compile Perl 6 to native machine code, I would think. Especially considering GCC lets you target any architecture, you could compile a script or two of Perl 6 for your Nintendo 64! (Granted, that would take a lot of coding to get working, but the point stands.) I also see another side effect, a good one. Perl 6 will be easier to recognize as a language, not a distribution.

Right now, every implementation of Perl 6 shares one thing in common: they’re interpreted. They all act like `perl’ of Perl 5. Because they all behave like the familiar Perl 5, a newcomer could easily just find the most prominent implementation (currently Rakudo) and call that Perl 6, without realizing that

  1. Perl 6 is the language, not the distribution.
  2. Rakudo hasn’t even passed the entire test suite, so it can’t be called Perl 6 in the first place 🙂

However, I think if there were a way to compile Perl 6 to native machine code, and it were a well-known implementation, then newcomers might say “Hey, waitaminute. Perl 6 can be compiled by GCC? That’s not the Perl I know.” They would then (hopefully) ask questions like “How come Perl 6 can be compiled?” instead of “When’s Perl 6 coming out?”.

Or, it could spawn more “Perl 6 is not Perl” sentiments. But I would like to look on the bright side of life :).

Anyway, this is a really ambitious idea (in my opinion), but aren’t all Perl 6 implementations? 🙂 I’m not sure if I’d ever get anywhere with it, and I’d like to finish up my Pod parser, enough to release it. That shouldn’t be too far away though. I would also have to start with plenty of research into how other frontends work, and learning another programming language.

On top of it all, my cushy two-week winter vacation is almost up, which means back to weekends and empty afternoons in the #perl6 pub. I’ll find some time, I’ve got a whole year (sans ≈ 12h19m) ahead of me.

This entry was posted in Cantina, Think Tank and tagged , , , , , . Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s