Greetings again after my nine-week hiatus. Wow that's a really, really long time...
I've been very busy deploying Pugs/GHC/Jifty for $job, as well as helping other people putting Perl 6 to productive use (cf. TimToady++'s "I upgraded to GHC 6.6 and my program ran 60 times faster" comment), so there's been a general lack of time to write about things.
Partly due to $job requirements, I've delayed the release of 6.28.0 with its full metamodel integration. Instead the 6.2.13 release, due next Tuesday, offers numerous real-world related improvements:
- Perl 5 embedding is now enabled by default, with support for function imports and two-way passing of references and memory-leak-free unboxed values.
- Pugs's runtime performance is more than 2x faster, with even more gains when compiled with the newly released GHC 6.6.
- Pugs no longer depends on Parrot for its Perl 6 grammar engine. Instead it comes with Pugs::Compiler::Rule, a pure-perl5 grammar engine natively supported via a sane embedding interface.
- Significantly simplified code reuse via support for mixin Roles, virtual attributes with initializers, as well as dynamic ( $obj.$meth ), quantified ( $obj.*meth ) and hyperized ( @objs>>.meth ) method calls.
- A wider range of new builtins made available through Perl 5 embedding, such as crypt(), fork() and "\c[UNICODE CHARACTER LITERALS]".
- Support for closure traits, including PRE/POST blocks for design-by-contract programming, and FIRST/NEXT/LAST blocks for fine-grained loop controls.
- Fully reentrant continuations! Thanks to that, the interactive shell environment is now much more robust.
- The multi-dispatcher now handles named, slurpy and optional arguments instead of only positional ones.
- Embedding data in programs through POD variables ($=DATA / @=DATA), as well as indentation-aware here-documents.
There is much, much more -- #perl6 is still working on the ChangeLog as of this writing. Compared to 6.2.12, Pugs is definitely approaching the Hey, what was the big deal? stage now...
Meanwhile, please test out this preflight build, and see if it also passes 100% on your system with "make smoke". We recommend getting a binary installer of GHC 6.6, but it should also work with GHC 6.4.1 and 6.4.2.
After the release, I'll take a month off $job to do some speaking abroad (at Intel, OOPSLA/DLS, Amazon, CONSILI/YAPC::SA) and hackathon'ing (on Jifty with obra/clkao/schwern, and v6-on-perl5 with fglock in Brazil).
So, expect more blogs (and talk slides) in the weeks to come, and do let us know if the preflight works on your system. Have -Ofun! :-)
There's much, much more -- #perl6 is still working on the ChangeLog as of this writing. Compared to 6.2.12, Pugs is definitely approaching the Hey, what was the big deal? stage now...
Well, I'll just note here that the axis on your chart is "community goodwill", and I'm assuming that goodwill means the wider community.
I still see the wider community treating Perl 6 like Duke Nukem Forever and being quite vicious about it.
Personally, I don't think we reach "What was the big deal" until at some point in time (and lets go with this Christmas at this point) someone (you, Larry, etc) stamp "Perl 6 Alpha" on a release and get your slashdot/digg/et-al headline.
I think that's the point at which we start to get that goodwill back up there.
Posted by: Adam Kennedy | 2006.10.16 at 01:06 AM
Is the Amazon visit public? I work in downtown Seattle and would love to attend the talk. Also, I know some folks who work there, so if it's a 'by invite' thing, I might still be elligable.
I'm also happy to see you posting again. I frequently use your posts to explain to people how very alive the Perl6 and related projects are.
Posted by: Robert de Forest | 2006.10.16 at 04:10 AM
Adam: Point very well taken (and agreed).
"Perl 6 Alpha" will denote the spec, not any particular implementation version. Having some assurance that the core language won't change drastically and break all your programs (which is what -alpha would mean to me) is certainly a very good way to encourage adoption.
Posted by: Audrey Tang | 2006.10.16 at 08:16 AM
Robert: I think it's two private talks on the 27th. And thanks for your encouragement. :-)
Posted by: Audrey Tang | 2006.10.16 at 08:30 AM