Perl 6 Design Minutes for 26 May 2010

chromatic on 2010-06-20T19:40:02

The Perl 6 design team met by phone on 26 May 2010. Larry, Allison, Patrick, Will, and chromatic attended.

Larry:

  • :() syntax is now always signature
  • we now use foofix:[...] as the general op form instead of foofix:(...)
  • refactored the sematics of :nth and :x
  • :nth() now only ever takes a monotonically increasing list
  • S03 now explains how "not-raising" works on != and ne
  • it now basically matches the intuitions of an English speaker via HOP definition of negate metaop
  • STD sometimes didn't require semi between statements
  • statement modifiers are expression terminators but not valid statement terminators
  • an unexpected statement modifier word like if could terminate one statement and start another
  • fixed up backslashes in character classes to allow \s etc and reject \u etc
  • STD was accidentally using the same lexpad for different multis
  • Cursor now treats :() on name extension as a signature always, never as a categorical
  • we shouldn't introduce the stopper for circumfix until we're in the circumfix, or we can't use the same char on both ends
  • placeholder messages error messages are now much more informative and correct
  • we now disallow use of placeholder after same variable has been used as a non-placeholder, even for an outer reference
  • renamed add_macro (which it doesn't) to add_categorical (which it does)
  • participating frequently in discussions on semantics both on irc and p6l
  • working closely with sorear++ as he brings viv closer to bootstrapping, yay!
  • soon can bootstrap past gimme5

Allison:

  • worked on Pynie this week in my limited spare time
  • one goal is to generate the parser directly from the Python grammar
  • wrote a small, lightweight PEG parser which generates a match tree from the Python 3 grammar
  • can generate a lexer directly
  • right now it creates a parse tree
  • looks similar to the match nodes of NQP-rx
  • dumps out a tree to the PIR parser
  • working on PaFo elections for next year, but trying to delegate those
  • will have more time after June 7

Will:

  • working on Perl 6 advent tests
  • many more people are doing more work than me
  • liasing with Rakudo folks for any important Parrot bugs before the Rakudo Star release
  • my current direction there is "don't break anything"

Patrick:

  • sorear added hash flattening to NQP
  • lots of work on closures in PAST and NQP
  • they properly clone
  • fixes some lexical problems
  • need to get that to work in Rakudo
  • that's tougher; Rakudo has to wrap Parrot subs
  • wrapper object needs cloning as well, along with its attributes
  • we'll add a new PAST node type to help
  • that node understands contexts
  • essentially a way to add void context optimizations to your AST
  • that solves many problems in Rakudo beyond closures
  • added a setting into NQP along with its test suite
  • not automatically loaded, but available
  • contains standard hash and array methods
  • Parrot's ops2c project uses those
  • other people can update and enhance that setting as necessary
  • NQP also has the ability to parse type names
  • NQP doesn't do anything with them yet
  • eventually they'll allow the use of multis
  • cleaning up some NQP bugs regarding lexicals and package storage of subs
  • Bruce Keeler enabled variable interpolations in regexes
  • working on some refactorings to simplify that approach
  • works in NQP and Rakudo now
  • that's a feature we've never had before
  • Rakudo's REPL now works better, thanks to sorear
  • HLLCompiler now written more in NQP as part of that
  • NQP now can do eval
  • NQP remembers lexicals in interactive mode now
  • adding that to Rakudo is more complex
  • working on that
  • pleased with the progress on #perl6

c:

  • reviewing long term plans for GC and Lorito
  • should have more time free soon