Slash Boxes
NOTE: use Perl; is on undef hiatus. You can read content, but you can't post it. More info will be forthcoming forthcomingly.

All the Perl that's Practical to Extract and Report

use Perl Log In

Log In

[ Create a new account ]

chromatic (983)

  (email not shown publicly)

Blog Information [] Profile for chr0matic []

Journal of chromatic (983)

Wednesday February 18, 2009
04:43 PM

Perl 6 Design Minutes for 04 February 2009

[ #38507 ]

The Perl 6 design team met by phone on 04 February 2009. Larry, Jerry, Will, Patrick, Nicholas, and chromatic attended.


  • successful migration of the Subversion repository to
  • took up chromatic's ticket challenge and closed a handful a day, applying patches, fixing bugs, clearing out some old TODOs that don't fit with current architecture
  • started, completed, and merged in the second string refactor branch, a large-scale function name cleanup
  • a few fixes on the POD parser, mostly handed it off to kj
  • updated the Parrot Ubuntu packages on the PPA with instructions for using it
  • speaking about Parrot at IBM tomorrow


  • enjoyed the lively discussion with mtnviewmark, timtoady, and others about metaops
  • really like where that ended up
  • Jonathan should be making some rakudo commits shortly to clean up the cross metaop spectest failures
  • thanks to Larry's comments, i'm polishing S19
  • haven't had much uninterrupted time lately, so progress has been slower than I like
  • keep thinking that's going to clear up soon... but that hasn't been
  • the case for weeks now


  • completely revamped's metatoken parsing
  • treating generated metaoperators as longest tokens did not scale
  • chasing the implications of that through
  • LTM occurs on the metaoperator itself separately from the base operator
  • (most of the base operators are infixes)
  • what it modifies gets parses as a separate token
  • has implications on the order you check things
  • != isn't a separate token
  • has to be parsed with the combination of the ! metaoperator
  • cuts the number of tokens way down
  • the lexer runs a fair bit faster
  • invented a new notation for disambiguating infix operators
  • they may now all be put in [], the same form as reduce operators
  • internal to a metasequence (need a new name for that) sometimes need to identify which operator to apply in which order
  • &[] now refers to the infix function itself
  • makes it easy to pass binary operators into various functional programming primitives
  • reduce operator still stays out in front with square brackets
  • just generalized the notation
  • made more comments on S19
  • moving away from the notion of a Prelude
  • provisionally now called a Setting
  • it implies things before and after the text of a program
  • the -n and -p loops put a scope around the scope of your file
  • invented several new pseudo-package name prefixes to refer to the Setting
  • PERL is the outermost setting as well as LANG for the sublanguage the file is actually parsed in (such as from -n or -p)
  • just changed the Prelude to the Setting option in S19
  • chopped out the old, non-trie lexer since we're not using it
  • thought it might clean up the looks of the LTM for anyone interested in implementing his own
  • not that mine is a parallel matcher yet....
  • still something I'd like to do
  • maybe I won't have to
  • working with Mark on revisions to the new metaops (old minus metaops from last week)
  • many binary operators could use a metaop which reverses their arguments
  • would have the same effect on comparison operators as reversing the sense of the test
  • mutated into a R operator
  • and the X operator lost its second X to work the same
  • started a trend: adding more metaoperators with a prefix capital letter is a good approach
  • might end up with Z for a zip with operation
  • working on moving some of the preludey/settings stuff out of into a separate file
  • - working over the various symbol tables to do lexical scoping more sanely - this is prep work for parsing a real Setting file and dumping out the symbols such that they can be slurped in for the user's file compilation


  • minor station keeping on Parrot
  • no major progress on cleaning up deprecated stuff
  • hope to release a copy of This Week in Parrot
  • trying to resurrect that
  • lots of questions in IRC about why things are happening
  • we don't have a good way to answer that
  • will try to post short articles on front page of
  • hope to do so every Sunday until at least 1.0
  • then hope to hand it off to someone else


  • moved Rakudo out of the Parrot repository
  • its official location is github
  • the old Rakudo stuff is still in the Parrot repository
  • it'll be gone tomorrow
  • decided on Git because there weren't many pros for sticking with Subversion
  • getting everyone up to speed on using Git isn't super easy
  • haven't run into any major blockers yet either
  • usually just reorienting ourself to different commands
  • hacked up a new for Rakudo out of the Parrot tree
  • making it work with an installed Parrot
  • Parrot isn't quite there yet
  • if someone doesn't have Parrot but downloads Rakudo, what's the best way to get them an appropriate revision of Parrot to run on?
  • looking at options for that
  • very pleased to see Larry's changes to metaops and other pieces
  • pleased that Prelude is now Setting
  • equally pleased that I haven't worked on any of these pieces yet....
  • hooray for delayed binding


  • Alan Kay is smiling somewhere


  • late binding wins again!
  • laziness is paying off
  • Rakudo is close to having its own Setting written in Perl 6
  • part of the repository
  • probably won't happen by Frozen Perl this weekend
  • have some documentation to write for that
  • should have it by the next Rakudo release, sometime in February


  • finishing the draft Parrot support policy
  • pretty aggressive, but what we discussed at PDS
  • will be in the repository today


  • what's the schedule on Rakudo releases?


  • I expect that they'll occur timed with Parrot releases
  • but not simultaneous
  • Parrot releases on the third Tuesday
  • Rakudo will release the weekend after that
  • this'll give us time to tie it to that specific release
  • we'll continue the monthly release cycle
  • for most of 2009, I expect many people won't want to play with the released version of Rakudo
  • they'll want to play with the head version
  • all of the cool features and bugfixes
  • it'll track Parrot, but not necessarily Parrot's head
  • it'll make sure you have a sufficient version of Parrot, but not necessarily the latest one
  • January has shown that when Rakudo and Parrot are separated, changes to Parrot trunk can easily break Rakudo
  • we update a file in the repository now
  • we'll update that whenever something happens in Parrot that we need to update it with
  • that version will always include at least a Parrot monthly release


  • Parrot's starting to get to the point of Perl 5
  • changes can break CPAN modules


  • we need to be more aggressive about adding those tests to the core test suite
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
More | Login | Reply
Loading... please wait.