Categories
Posts in this category
- A shiny perl6.org site
- Creating an entry point for newcomers
- Sprixel, a 6 compiler powered by JavaScript
- Another perl6.org iteration
- Blackjack and Perl 6
- Why I commit Crud to the Perl 6 Test Suite
- Report from the Perl 6 Hackathon in Copenhagen
- Custom operators in Rakudo
- Defined Behaviour with Undefined Values
- Dissecting the "Starry obfu"
- Perl 6: Failing Softly with Unthrown Exceptions
- The first Perl 6 module on CPAN
- Google Summer of Code Mentor Recap
- Building a Huffman Tree With Rakudo
- Immutable Sigils and Context
- Is Perl 6 really Perl?
- Perl 6: Lost in Wonderland
- Lots of momentum in the Perl 6 community
- Musing and the future of feather and the Pugs repository
- Musings on Rakudo's spectest chart
- My first executable from Perl 6
- Trying to implement new operators - failed
- Let's build an object
- Perl 6 is optimized for fun
- How to get a parse tree for a Perl 6 Program
- Perl 6 in 2009
- Perl 6 ticket life cycle
- The Perl 6 Advent Calendar
- How to Plot a Segment of a Circle with SVG
- Publicity for Perl 6
- Rakudo architectural overview
- Rakudo Rocks
- Rakudo "star" announced
- Rakudo's rough edges
- Rats and other pets
- Releasing Rakudo made easy
- Set Phasers to Stun!
- Starry Perl 6 obfu
- Recent Perl 6 Developments August 2008
- Strings and Buffers
- Subroutines vs. Methods - Differences and Commonalities
- A SVG plotting adventure
- A Syntax Highlighter for Perl 6
- Test Suite Reorganization: How to move tests
- The Happiness of Design Convergence
- Perl 6 Tidings from September and October 2008
- Perl 6 Tidings for November 2008
- Perl 6 Tidings from December 2008
- Perl 6 Tidings from January 2009
- Perl 6 Tidings from February 2009
- Perl 6 Tidings from March 2009
- Perl 6 Tidings from April 2009
- Perl 6 Tidings from May 2009
- Perl 6 Tidings from May 2009 (second iteration)
- Perl 6 Tidings from June 2009
- Perl 6 Tidings from August 2009
- Perl 6 Tidings from October 2009
- Timeline for a syntax change in Perl 6
- Visualizing match trees
- We write a Perl 6 book for you
- When we reach 100% we did something wrong
- Where Rakudo Lives Now
- Why was the Perl 6 Advent Calendar such a Success?
- What you can write in Perl 6 today
- Why you don't need the Y combinator in Perl 6
Fri, 06 Mar 2009
Perl 6 Tidings from March 2009
Permanent link
Specification
In the past month we've seen a huge effort on the specs, mostly driven by Timothy "wayland" S. Nelson. He split the ever-growing S29 document into various API documents for built-in classes, all of them living in the S32 setting library.
The term "setting" is also new and requires an explanation. It's a term for the namespace in which built-in functions live. Other languages call that a "Prelude". Differently from a Prelude that scope is replaceable, meaning that it's easy to throw out all built-in functions and provide your own set, if that's what you want.
There was also a lively discussion about S16 (IO), and Daniel Ruoso and Timothy made some progress in the specs there. It seems our IO system will be heavily based on roles. Likewise there was some work on an S28 "special variables" draft.
Larry Wall also contributed lots of small and not-so-small cleanups.
- Private methods are now declared as
method !mymethod { ... }(as opposed tomy methodpreviously - Result objects (that is objects produced by regexes that call
makearen't automatically considered to be the scalar part of a match object. Instead they can now be accessed with the?key, for example as$<?>. - Lists in item context now
auto-promote to Captures, not Arrays anymore. That means that
when you write
my $a = (1, 2, 3)the$ais immutable;$a[2] = 4is an array. Instead you need to saymy $a = [1, 2, 3];(anyone speaks Perl 5 here? ;-). Captures were also re-factored to treat the invocant less special. - Some clarification on what happens when you have a sub and an enum value of the same name
- Enhancing an already defined class is
now done with
augment class Objectinstead of the previousclass Object is also. Likewisesupersedereplacesis instead.
I'm sure I've missed some important pieces, but the past month brought so many changes it's hard to keep track of.
Implementations
Rakudo
In February we witnessed the first release of Rakudo that's independent from Parrot. The releases are simply numbered (without any major/minor distinction) and have code names; the names are picked among cities with Perl 6 supportive perlmongers groups. This release was dedicated to Vienna.pm who sponsored much of Jonathan Worthington's Rakudo work.
Most notably Rakudo now ships with some built-in functions written in Perl 6, which makes it much more hackable if you love Perl 6, but have no clue about PIR.
Other interesting changes and fixes are support for the new
R meta operator (which reverses the order of arguments to
the following operator) and a .perl method on Match objects
(just for debugging purposes, it can't be eval'ed back into a Match object
yet).
Misc
Since the Topic of our beloved IRC channel #perl6 become too crowded with links to Perl 6 implementations, I set up the page http://perl6-projects.org/ which simply links to all of the most important Perl 6 projects, including compilers and documentation efforts. It is meant to be an entry page to link to if you don't want to collect dozens of links yourself.
Hinrik Örn Sigurðsson wrote on p6l that Google "Summer of Code" project where they pay students for work on open source projects, and hinted that he'd like to hack on Perl 6 stuff as a gsoc project. Jonathan Leto explained that he coordinates the TPF side of this year's project.
Comments / Trackbacks:
Trackback URL:
/blog-en/perl-6/tidings-2009-03.trackback
Write a comment
The comments on this blog post have been disabled; the comment form below will not work.