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)

Friday November 06, 2009
07:36 PM

Perl 6 Design Minutes for 04 November 2009

[ #39855 ]

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


  • answered lots of questions on #perl6
  • speculated about a new test primitive using $a [op] $b to capture pertinent info on falseness
  • many minor spec clarifications this week in response to Jonathan and Patrick
  • closures in strings and regexes now documented to create a lexical scope
  • $_ now defaults to being is ref rather than is rw
  • in regexes, tightened up reversed character class ranges, indirect rule failure semantics
  • deprecated the CANDO section in packages, since we don't look in packages for either methods or subs
  • in hacking, continue to check and fix tests when others check in parsefails
  • STD now gives better messages on bogus statements and backslashes
  • implemented the $_ is ref semantics (to the extent STD cares, which is not very)
  • tightened up error message for precedence failure within a function's arguments
  • catch names with null identifiers
  • .caps now always returns key/value pairs in STD instead of naked values
  • now gives a better message on an unexpected !!
  • .panic now protects itself from infinite recursion on probe for two terms
  • various other minor bug fixes


  • asked for a list of things to work on
  • worked through a list of RTs
  • wrote a migration guide for the PCC changes
  • spending a lot of time on my studies
  • quantum computation is a fairly dense subject
  • should catch up soon, will spend more balanced time on Parrot and school


  • answered some S19 questions this week for Patrick
  • didn't answer some others; don't have answers yet
  • working on those


  • busy week for me
  • (refer to my latest journal post)
  • we're redoing Rakudo's grammar using the new tools
  • the Rakudo grammar is a generation closer to the STD grammar
  • we're getting rid of cheats in the existing code as we get closer to STD
  • Rakudo now supports lazy lists
  • it also has true metaoperators
  • previously, Rakudo had separate subs for every metaoperator
  • now it detects when you use a metaoperator and registers the code to generate that metaoperator at load time
  • we don't have to build metaoperators at load time
  • you only pay for the ones you use
  • fixed the problem of assigning to a constant; no longer permitted
  • subroutines now stored with & sigil
  • operator subs stored under their true Perl 6 names, not the PGE-faked versions
  • most of the sanity suite runs
  • compiles, but doesn't run
  • it needs END blocks; that'll be trivial to add
  • Jonathan has class/method declarations, multisubs, type checking all working in Rakudo
  • we need to finish getting the core types in place
  • also need to parse subroutine names for operator subs
  • that should get us to compile the Setting again
  • we expect to pass the spectest suite to the same level as the previous version by the end of November
  • could take longer than that, but based on our experience in the past week, I'm optimistic
  • helped Geoffrey Broadwell and others switch plumage to the new NQP
  • they're eager to use the new features of the new NQP
  • working on several other tasks
  • fixing some bugs for Jonathan
  • going to write a blog post about writing a new compiler with NQP
  • probably will use Punie as the example
  • it's easy to do; already done once
  • wrote a compiler for a stack-based language during an IRC conversation last night in about five minutes
  • surprised myself by how easy it is


  • working on migrating away from Parrot's RT
  • we switched to Trac a year ago
  • it's long past time we switched
  • we're down to 95/96 tickets now
  • encouraging other people to help, so I don't have to do them all
  • eagerly awaiting Patrick's help to convert ParTcl over to the new NQP
  • still three or four Parrot segfaults blocking some effort in Tcl
  • they all have tickets


  • fixed bugs


  • in reimplementing Rakudo with the new NQP, are you pulling out the old cheats?
  • are you putting in new ones?


  • we're starting the internals of the grammar from NQP
  • the Setting, written in Perl 6, stays the same


  • is that because the data structure returned from NQP is different?
  • the actions work on parse tree data structures, and have those changed from PGE?


  • they're significantly different
  • it works on protoregexes
  • previously, the operator precedence parser was separate
  • it used to be part of PGE
  • it's more extensible now
  • we based NQP's grammar on the Perl 6 grammar
  • Rakudo's grammar started before that
  • the action methods have changed a lot
  • in answer to Jerry's question, we're refusing to put the old cheats back in
  • the new cheats go in their own directory called cheats/
  • that documents them
  • we know we'll eventually have to take them out
  • we acknowledge that previous cheats were blockers to Rakudo's progress
  • now we come to the point where we ask if we should do the quick cheat or do things the right way
  • so far, we've decided to do the things the right way
  • hence assigning to a constant no longer works
  • we have real lazy lists too
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.
  • To all involved in the production of the Perl 6 design minutes, a heartfelt thank you.

    The p6 design minutes are a major attraction to where ever they're hosted ( without them would be far less attractive).

    I enjoy reading them since it is good to know that my favourite programming language just cannot stop attempting to take over the world.

    Thank you !