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
Thu, 02 Apr 2009
Perl 6 Tidings from April 2009
Permanent link
Specification
Recently I wrote an article about Perl 6, claiming that the core of the language is rather stable these days. Maybe I was wrong...
- Daniel Ruoso continued some work on the Iterator API
- Result objects are now called "abstract objects" and are
available via
$/.ast. Larry also incorporated an older proposal to make the captures accessible in the order they appeared in the input text, which doesn't necessarily correlate with their order in which they appear in some capture lists/hashes. The method is called $/.caps. There's also$/.chunkswhich returns not only captures, but also non-captured-but-matched strings interleaved with captures. - Larry (de?)promoted junctions to be a native type, and also made the eigenstates method (to
access the values stored in the junction) private. This started
many discussion on IRC and p6l about what are junctions good for,
why don't they cook your lunch for free and if they are
really that hard to understand (no, they aren't; but they do
require a bit of effort).
Independently, but also in a strive to make junctions more intuitive, block parameters now default to Object, so they are transparent to junctions. That means thatfor @array -> $x { ... }won't autothread over $x if there are junctions stored in @array. - Carl Mäsak introduced a nice syntax for doing smartmatching in multi subs/methods - but didn't quite achieve what he wanted. As a consequence Larry tweaked the specs for type narrowness in multi dispatch, and scared the hell out of Jonathan Worthington who had implemented most of the old dispatch semantics in Rakudo already, and saw his design and works (as well as performance) turning into ping logic clouds. So Larry had mercy, and reverted the worst parts (or marked them as post-6.0 at least).
- The want() function seem to be fairly unimplementable, so I proposed to dispose of it.
Implementations
Rakudo
The March release of Rakudo brought many cool new features (like state variables), and lifted the long standing limitation that outer variables couldn't be accessed within eval().
After the release Patrick also added rx/.../ quoting
and (limited but substantial) support for Perl 5 regexes.
Vasily "bacek" Chekalkin contributed a socket implementation to Parrot, which inspired some people to write HTTP clients in Rakudo already. YaY.
Not so exciting but very useful for end users is the proper importing and exporting of subs, implemented by Jonathan.
SMOP
The smop developers are currently working on a refactoring branch for smop which includes better modularization and fewer problems for bootstrapping due to reduce interdependencies. (Don't know if I understood that correctly).
Summer of Code
Sorry, can't tell you all that much. Just that The Perl Foundation received (among others) four Perl 6 or parrot related proposals (and the application is still open), all of which look very high quality and promising to me.
In a month we'll all know more about them, and about which will be funded.
Comments / Trackbacks:
Trackback URL:
/blog-en/perl-6/tidings-2009-04.trackback
Write a comment
The comments on this blog post have been disabled; the comment form below will not work.