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)

Monday November 16, 2009
04:16 PM

Perl 6 Design Minutes for 11 November 2009

[ #39905 ]

The Perl 6 design team met by phone on 11 November 2009. Larry, Allison, Patrick, Jerry, and chromatic attended.


  • named all of the funny-looking blocks "phasers"
  • met with wide-spread approval, or at least humor
  • no change as to the language itself besides nomenclature
  • nice to have a handle to think of them as one thing
  • decided there's no name for the concept used by our lexically-scoped control exceptions
  • those are now lexotic
  • something that'll unwind the stack to a lexically-determined destination
  • noticed the old :panic modifier in S05
  • decided it was impossible to implement correctly
  • very little demand for it
  • couldn't think of a good use for it anyway
  • I removed it
  • the name interpolator, ::(), had some strange lookup rules
  • now the runtime lookup in that interpolation is identical to what it would be if the name had been there at compile time
  • clarified that empty blocks and non-matching conditionals return Nil, as suspected
  • documented that clearly now
  • STD now uses something like Patrick's O() assertion form instead of the wrong coercion semantics
  • Patrick also noticed that if you declare a module with a block, it did not disallow semicolon declaration
  • fixed that
  • found three places in the test suite where people had used semicolon syntax as forward declarations
  • fixed those too
  • decided that the STD grammar class needed to split into two
  • one is the mainline Perl 6 class
  • the other is the base class from which everything else derives
  • you don't want all of the rules of the mainline code in that one
  • started to split those
  • probably could use more reformatting for readability
  • thinking about how to do a real parallel NFA
  • reading up on the new Go language


  • another small tasks week
  • reviewing patches and answering design questions
  • have a long list of things to do
  • put that list on the Parrot wiki, which has helped
  • Julian submitted a patch for one of those things
  • would like to get some time to work on Pynie
  • have three massive assignments due at the end of next week, so may not be able to get back to Pynie after that


  • the weeks are all blending together so well....
  • Jonathan noticed that on GitHub you can get a list of commits on a project's page
  • Rakudo commits yesterday exceeded a page
  • we're making excellent progress on Rakudo with the new grammar
  • wrote a post on about that last night
  • we're on track with our plan we published a couple of weeks ago
  • made the sanity tests pass sufficiently that we can run the test suite
  • now it's just a matter of re-enabling features to pass the test suite
  • most of those features are written in Perl 6
  • either because of the core Setting or because we went to rewrite them in Perl 6
  • should get major swaths of features working then
  • we'll see how that goes over the next couple of weeks
  • expect that we'll land the new branch sometime in December
  • we'll pass as many tests then as we did in the October release
  • the new version fixes many features we couldn't implement in the previous version
  • lazy lists and constant handling, for example
  • this week, I'll bring NQP into the Parrot repo
  • lots of people want to use it more easily
  • having Parrot compile and install it helps
  • will continue adding features to Rakudo
  • will guide others to add new features to Rakudo
  • it's at the point where lots of other people can do that
  • would still like to write a tutorial on how to write a compiler with NQP
  • it's probably worth waiting a week on Pynie to take advantage of that
  • figured out why NQP-rx code generation was slow
  • UTF-8 bit us again
  • took care of that
  • compilation time from went from 108 seconds to 15 on Jonathan's machine
  • about a factor of ten speedup in compilation time


  • some parts of Pynie need replacing


  • it's worth it if you want to use protoregexes or the new operator precedence parser
  • they'll give you speed too
  • will use Punie (Perl 1) as the example
  • it has a lot of the features you want in a language


  • fixed a few bugs
  • talking design
  • talking development process and strategy


  • on the semicolon form of module declarators
  • the only model I can think of which works cleanly is that you can put anything you want prior to that declarator
  • once you write one, you can't write another one for the rest of the file
  • that's how I read it
  • originally, the semicolon form had to come first
  • that caused problems with importing things to declare
  • if you allow anything other than module declaration, that's a special case
  • it's easier to say that you get one semicolon form per file, and that's it


  • as the errors show in the test suite, people will use the semicolon form out of habit
  • whatever they mean by it will be wrong
  • they use it as a forward declaration in the tests
  • that's neither of these interpretations


  • maybe the semicolon form is wrong
  • maybe we need a brace form which lets you slurp the rest of the file


  • some kind of EOF heredoc?


  • if we do use it, I want it close to the top of the file
  • as soon as you put large blocks of things in front of it, you get into trouble
  • it's not obvious which package it is then
  • maybe there's some way of separating the name of the file from the declaration of its dependencies
  • let me think about that more


  • it's not pressing or urgent
  • Rakudo will continue to do what it does


  • that hurts the tests, which assumed some other behavior
  • neither STD nor Rakudo caught these errors until I fixed STD
  • I like how STD handles this behavior better now
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.