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
Mon, 27 Apr 2009
Perl 6 Tidings from May 2009
Permanent link
Specification
- masak, ruoso and I worked on the question how method calls
could do autovivification, ie how
%array{'foo'}.push: 'bar'knows how to build an Array in%arrray{'foo'}if that item didn't exists previously. Sadly the outcome was a bit vague and dissatisfying (r26069). - The
joinmethod now defaults to the empty delimiter. If you want spaces, you can still use the.Strmethod to coerce to String, which will add a space between List items (r26129). - The strive to make built-in methods and subs not depend too
much on the type of the invocant found two new "victims" -
string reversing is now done with
flip(andreversealways reverses lists), and the hash reversal is now calledinvert). The newHash.pushmethod adds items to an existing hash, turning items into Arrays when they would otherwise collide (r26129, r26135, r26182) - Listop sigils are gone, so
@ @foo Z @baris now illegal, you either have to writelist @foo Z @baror@( @foo Z @bar). Having only two ways to do the same things is still no violation of the timtowtdi principle ;-) (r26167). whenis also a statement modifier now, so you can writesay "foo" when 'bar';(r26241).- The prefix
=operator for iterating over a file handle is now gone. Instead you can iterate over$handle.linesor get a single one with$handle.get.linesoptionally takes a limit.readlineis also gone in favor ofget. (r26292, r26295, r26299, r26302). - Some more bracketing constructs are now allowed wherever any kind of bracket is allow - Unicode-fu above my head (r26401).
Implementations
Rakudo
As happens each month, Rakudo had another release in April, featuring (among other new features) typed hashes and arrays, lexical subroutines and multis, Perl 5 regexes, Unicode character names both in Regular expressions and double quote interpolations, Sockets and many bugfixes.
This is also the first release where Rakudo passed more than ten thousand spec tests (mainly due to the regex improvements).
The Rakudo team is also proud to welcome the first new committer since Rakudo
left Parrot's nest: Cory Spencer contributed lots of patches to move
built-in subs and methods to the setting (ie the Perl 6 library
holding built-ins), thus enabling for example the Trig export, so that
you can now say use Num :Trig; to import trigonometric
functions.
SMOP
Paweł Murias spent much time bringing re-smop, the refactored version of SMOP, up and running. He will implement multi methods for SMOP as a project for this year's Summer of Code.
Summer of Code
I'm glad to inform you that this year The Perl Foundation will mentor nine Perl related projects, four of which are somehow related to Perl 6 or Parrot: Paweł's project as mentioned above, Hinrik "Literal"'s Enduser documentation for Perl 6 project, Kevin Tew's prototype for an LLVM based JIT core in Parrot, and Daniel Arbelo will plug the libdecnum libraries for large decimal arithmetics into parrot..
These all look like excellent proposals, and all of the students have already proved their hacking skills in some Perl or Parrot projects. I wish them and us the best of luck.
Others
I probably missed this in my last summary, so here it comes: There was a large discussion about a logo for Perl 6 and/or Rakudo. Larry Wall told us both what criteria a logo must fulfill, and what is initial proposal was. So unless somebody comes up with an even better idea, it will be Camelia, a colourful female butterfly.
It also appears on perl6-projects.org, which has gained a pleasing number of occasional contributers.