May 2011 Archives

I'll be offering a one day Intro to Moose class at YAPC::NA 2011 in lovely Asheville, NC. To register, log in to the YAPC::NA site and then go to purchasing page. If you haven't registered for YAPC yet, you can buy your conference ticket at the same time too.

Intro to Moose

Join us for an interactive hands-on course all about Moose, an OO system for Perl 5 that provides a simple declarative layer of "sugar" on top of a powerful, extensible meta-model.

With Moose, simple classes can be created without writing any subroutines, and complex classes can be simplified. Moose's features include a powerful attribute declaration system, type constraints and coercions, method modifiers ("before", "after", and "around"), a role system (like mixins on steroids), and more. Moose also has a vibrant ecosystem of extensions as seen in the variety of MooseX:: modules on CPAN.

This course will cover Moose's core features, dip a toe into the meta-model, and explore some of the more powerful MooseX:: modules available on CPAN.

Students are expected to bring a laptop, as you will be writing code during the class. You will also be provided with a tarball a week or so before the class is scheduled, which will contain a directory tree skeleton and test files.

Moose's Perl version support policy

| No TrackBacks
The release of perl 5.14.0 (and the simultaneous dropping of support for the perl 5.10 release series) is probably a good time to start looking at the support policy for the future of Moose. In particular, we do not yet have an official policy for the versions of perl we support.

For a historical perspective, Moose has required perl 5.8.1 since 2008 (at which point, 5.10.0 was the latest released version of perl). The requirement was bumped to 5.8.3 within the past year due to test failures on 5.8.1 (and none of the dev team having access to anything below 5.8.3), a move that met with basically no complaints.

Today, the latest released version of perl is 5.14.0. Relatedly, the earliest version of perl still supported by the perl5-porters is 5.12.0, and the earliest version of perl shipped with the latest release of any major Linux distribution except CentOS is 5.10.1 (and CentOS 6 should be released with 5.10.1 by the beginning of June). Supporting back to 5.8.3 now requires supporting 4 major releases (and 13 minor releases) dating back 7 years, and this isn't a very sustainable position to be in, given the limited resources of the Moose dev team. With new major releases of perl coming out yearly now, this will easily become overwhelming soon.

So with that in mind, Moose will be dropping support for perl 5.8 with the 2.06 release (in January of 2012). This will allow enough time for CentOS to get a stable release out that contains perl 5.10.1, and so everyone still running perl 5.8 should have an officially supported upgrade path by that point. As for what this actually means: we will not be immediately rushing in to start using smart matching and ripping out our existing 5.8 compatibility code. The specified version requirement will stay at 5.8.3. Moose will likely continue to work on perl 5.8 for a good while after next January. What this does mean, however, is that we will not be spending any more time fixing 5.8-specific issues. If critical bugs are found (unlikely at this point, but still possible), we will likely just bump our version requirement if no patch is forthcoming. New features are a fuzzier topic, but if someone comes along and implements a new Moose feature that requires features in perl 5.10, that patch will likely be accepted.

Our official support policy has been updated with this new information, and will be released with the next Moose release; it can be viewed here. If you have any questions about this policy, feel free to stop by #moose on irc.perl.org or contact the Moose mailing list at moose@perl.org.

About this Archive

This page is an archive of entries from May 2011 listed from newest to oldest.

April 2011 is the previous archive.

June 2011 is the next archive.

Find recent content on the main index or look in the archives to find all content.

Categories

Pages

Powered by Movable Type 4.38