Recently in Perl 6 Category
The schedule for YAPC::NA just got published, and there's plenty of good stuff this year. If you haven't decided to make the trip out to Chicago June 16-18 yet, this should help.
Cool stuff that jumps out at me as I peruse the grid: JT Smith talking about the premade application stack that WebGUI uses, Schwern on testing data with The Sims, and Kevin Falcone on timezone handling.
For the beginners, Kent Cowgill's intro to testing is a great way to get introduced to the topic, and I'm sure that Leonard Miller talking about Perl::Tidy and Perl::Critic will help instill good coding practices.
New this year, on Wednesday there will be workshops. Stevan Little will host a 2-hour Moose tutorial, and Jim Keenan will help you get started building and working with Parrot and Rakudo Perl.
Do you have recommendations on must-see talks? Let your fellow Perlbuzz readers know in the comments below.
From Thomas Klausner:
At the Oslo QA Hackathon 2008, during one evening meal, it became evident that Jonathan Worthington would be able to spend even more time hacking on Rakudo Perl if he would get paid a little money for it. As Vienna.pm still has some money earmarked for Perl development, we encouraged Jonathan to send us a proposal for funding him. Which he did. And which we accepted.
So starting next week, Jonathan will work on Rakudo one full day a week (minimum of 8 hours of work), post about the work on the rakudo.org blog / use.perl.org. He will recieve € 150 per day spend working on Rakudo. We estimate that on average he will work 4 days per month. We agreed on funding three months (~ €1,800) and evalute the grant after that time. If everybody is happy, we will continue the grant until the end of 2008, where we will evaluate again (and check if we still have money left).
More info available in the WoC Wiki.
Will Coleda has graphed up the state of the Parrot bug queue in Google Spreadsheets. I had no idea there was so much Tcl action going on.
Tim Bunce has put together a presentation debunking three pervasive myths about Perl:
- Perl is dead
- Perl is hard to read / test / maintain
- Perl 6 is killing Perl 5
Hooray for spreading the word! Patrick Michaud impressed this attendee at FOSDEM with his talk about Parrot and Rakudo Perl.
The next talk was about Perl 6. Patrick Michaud was a good speaker, and he could convey his enthousiasm about the (many) novelties of Perl 6 as opposed to 5. He also quickly described what they used for their implementation of Perl 6, Rakudo Perl: the Parrot virtual machine. This seemingly allows you to put together your dynamic language in about 4 hours. Might pick up Perl again sometime. (Emphasis mine -- Andy)
This kind of PR is invaluable as we pass the tipping point to getting Perl 6 and Rakudo Perl out the door. Thanks, Patrick.
Addendum: Here's some more good stuff reported:
The talk about Perl 6 was the most interesting for me. I didn’t really like Perl <5 primarily because of having too many ways to do the same in exactly the same way but with a different syntax. I knew that Perl 6 was a total and backwards incompatible redesign of the language, build on top of a generic and good virtual machine called Parrot. Parrot, which I hadn’t given a proper look yet, turned out to be a lot greater than expected. You write support for a new language in Parrot by writing in a subset of Perl 6, which with it’s new Regular Expressions and specializations (tokens: regex without backtracking, etc), was looking very suited for it.
Except for all the new syntactic very very sweet sugar (on which I won’t (yet) elaborate) they added in Perl 6, the greatest one (which is actually more of a Parrot thing) is being able to extend Perl during runtime: writing new parser rules. One application is being able to define ‘!’ as a faculty operator. I’m itching to play with it.
Andi Gutmans, founder of Zend which drives PHP, takes a swipe at Perl 6 in this interview:
So we are anticipating a long rollout cycle for PHP 6, and we did not want to take the same route that the Perl project did, with project contributors still working on Perl 6 I think six years later. People make fun of Microsoft, but take a look at Perl 6. . . .
Sure, PHP 6 may have a shorter release cycle than Perl 6 has, but at the end of it all, we'll have Perl 6, and you'll still have PHP.
Just sayin'.
xoxo,
Andy
Adam Kennedy has written a very thoughtful article on problems he sees coming up in Perl 6 called "The relationship between a language and its toolchain, and why Perl 6 scares the hell out of me." It's well worth reading even if you're not following Perl 6 that much.
If Perl 6 is a little daunting, take a smaller bite by reading one of Adriano Ferreira's Perl 6 microarticles. The index of articles is on the official Perl 6 wiki on the page called Perl 6 microarticles. As of now the list of articles is:
- Introduction to the articles
- Zip
- Stitching
- Repeat operators
- Coercion operators
- Comparisons part I
- Comparisons part II
- Boolean operators
- the Default operator
- Range operators
- Negated operators
- Conditional operator
- Cross operator
- Iterator operator
- Reduce operators
- Reduce operators II
- Mutating operators
- The pair constructor
- Junction operators
- Filetests
For more news of Perl 6 and Parrot, please keep an eye on rakudo.org.
For some time now, there's been confusion about the multiple versions of Perl 6. Per Larry's wishes, Perl 6 is a specification of the language, and not an actual implementation. There will also be no "default" implementation of Perl 6. Pugs has been going strong for a while, based on Haskell. We've been talking about what to call Perl 6 that runs on Parrot, and Patrick Michaud worked with Damian Conway to come up with it: Rakudo.
It's a name the Damian has discussed before, and Yours Truly just so happened to own rakudo.org, hoping to be able to use it for something good and Perly. For a while, it hosted wikis that are now over at perlfoundation.org, and it's sat idle since then. I'm glad I didn't let it lapse, because now it can be an information center for the project. So far I've got a blog up, and I hope we can get more excitement about the project going as we post more details about the project there.
Read more about why "Rakudo" and the future of the project over at the brand new Rakudo.org.
Bob Rogers, Parrot release manager for Parrot 0.5.2, announces...
On behalf of the Parrot team, I'm proud to announce Parrot 0.5.2 "P.e. nipalensis." Parrot is a virtual machine aimed at running all dynamic languages.
Parrot 0.5.2 can be obtained via CPAN (soon), or follow the download instructions at http://parrotcode.org/source.html. For those who would like to develop on Parrot, or help develop Parrot itself, we recommend using Subversion or SVK on the source code repository to get the latest and best Parrot code.
Parrot 0.5.2 Highlights:
- "make perl6" uses the new pbc_to_exe tool to build a Perl 6 executable. It's still a ways from being a finished implementation of Perl 6, but we're working on that. Come join us!
- Parrot now has a LOLCODE implementation! Not an "enterprise-class" computing language, you say? We don't expect anyone to use it for their next app, but at less than 500 lines of source code (and most of that in a subset of Perl 6), it demonstrates the power of the Parrot Compiler Toolkit. See lolcode.com for more.
Parrot 0.5.2 News
- Documentation + PDD27 (multiple dispatch) - debut of new design + Numerous small updates to glossary.pod, etc - Compiler Toolkit + NQP: optional, named, and named/required parameters + PIRC: cleanups + PAST: "defined-or" - Languages + New mk_language_shell.pl script creates language stubs + LOLCODE: new + Lua: various + Eclectus: start with support for local variables and procedures, use SXML as intermediate representation + Perl 6: list builtins, compiler directives, command-line options, etc. + "make perl6" now builds a Perl 6 executable + punie: more builtins, control structures, code refactoring + pynie: builtin stubs, more tests - Implementation + New "pbc_to_exe" utility turns bytecode to executables + New set_outer method for subs + Further configuration refactoring for testability + All functions now completely headerized + Concurrency: interpreter schedulers - Deprecations + DYNSELF (changes to SELF; SELF to STATICSELF) + METHOD (replaced by renaming PCCMETHOD) + pmcinfo op (superseded by 'inspect') + get_attr, set_attr, and 8 other vtable methods + See DEPRECATED.pod for details - Miscellaneous + Many bug fixes + Minor speed enhancements with UTF-8 string handling + Debian packaging + consting, attribute marking, warnings cleanup, memory leaks plugged ...
The next scheduled Parrot release will be five weeks from today, on 19 February 2008.
Thanks to all our contributors for making this possible, and our sponsors for supporting this project.