Perl 6 Design Minutes for 17 March 2010

chromatic on 2010-03-31T21:17:44

The Perl 6 design team met by phone on 17 March 2010. Larry, Allison, and chromatic attended.

Larry:

  • documented which ops don't autoclose with *, including assignment
  • conjectured a generalization of the closure-calling context (value-only lists) that subscripts enforce
  • this generalization might allow the autoclosing of some of the current exceptions such as 1..*
  • added Z to go with X metaop; documented that X and Z desugar to higher-order methods, crosswith and zipwith
  • speculate about how to zip/cross dwimmily with non-identical ops; possibly creating a real use case for surreal precedence
  • however, for now sticking with conservative approach of requiring parens on differing list infixes
  • hacking on viv again
  • trying to get that bootstrapped, so I don't have to use gimme5
  • unbitrotted viv --p6 so it exactly reproduces STD.pm again
  • various developments with viv --p5 toward replacing gimme5
  • should make it easier to emit other parsers eventually
  • may emit Rakudo code someday
  • it's a race to see whether STD can do that before the current Rakudo parser resyncs with STD
  • anyone who wants to bootstrap on some other VM might want to use that
  • mostly tired of writing in the subset of Perl 6 that gimme5 understands
  • mostly hacking on better error messages, as always
  • catches use of non-$ hard reference
  • STD now read minds of people who forget that ".meth I" is a two-terms-in-a-row error
  • now produces good messages on attempts to use y/// or tr/a-z/A-Z/ syntax
  • now reports "previous line missing its semicolon" in the unexpected block checker
  • ambiguous use of . probably indicates p5-think, not missing method parens
  • STD now has in a q-like sublanguage for tr/// string parsing
  • implements the MONKEY_TYPING constraint on augment and supersede declarators
  • various random cleanups and bugfixes
  • added Z metaoperator
  • lots of works on regex flags to unify them into a single %*RX structure at parse time
  • makes it easier to do all of the lexical scoping in parallel
  • can now remap run-time's $?FOO variables to parser's $*FOO dynamic variables
  • otherwise, bugfixes, spec cleanup, and test cleanup

Allison:

  • working on tickets
  • updating the Parrot roadmap to match our Rakudo Star support plan
  • working on the mini-language in NQP for a class assignment
  • found a new Pynie developer who saw my talk at Pycon
  • may be doing a Summer of Code project in it
  • answering lots of questions on IRC and helping out with ideas

c:

  • working on lots of little bugs for Parrot
  • should have the method namespace bug fixed, with help from Andrew
  • exploring some optimization possibilities
  • should be able to merge the PCC refactor shortly
  • Allison, see TT #1511

Allison:

  • we need to add a new opcode, something like set_want
  • call it to update the CallContext with expected return information

c:

  • works a bit like Perl 5 there
  • we could use that information for MMD, that'd be interesting


WTF?

Theory on 2010-04-02T02:59:26

WTF is surreal precedence?