Perl 6 Design Minutes for 10 June 2009

chromatic on 2009-07-31T21:01:12

The Perl 6 design team met by phone on 10 June 2009. Larry, Patrick, Jerry, Will, and chromatic attended.

Larry:

  • having some family business at the moment
  • reduced the precedence of adverbs from tighter than comma to tighter than item assignment
  • reduces the frequency of some FAQs
  • worked with Jonathan and others to nail down the notion that a named multimethod looks like a single object from outside
  • obviously multi from inside
  • if you declare a multi within a class and ask for a list of methods from outside, you only get that name once
  • discussed whether multimethods are interleaved like multisubs
  • they are not
  • they are only an implementation detail inside a given class
  • from outside the class, a method always appears to be a single routine
  • helps preserve encapsulation and sanity across language barriers
  • went over Pugs examples
  • ran them past STD; it coughed up a lot
  • fixed a lot of the problems
  • found a few infelicities in STD
  • a double-quoted string that ends with an interpolation of $foo., like at the end of a sentence, the parser sees $." and tries to find a method name in double quotes
  • the next double quote might be many lines away
  • the dotty op at the end of a double-quoted string now disambiguates against a method name in quotes if there's whitespace before the next double quote
  • it terminates the string
  • that can really send the parser off on a wild goose chase
  • converged the output of gimme5 and viv more closely
  • viv can translate more of the operator precedence now
  • gimme5 was overcompensating to add a semicolon at the end of a given block
  • that was a fossil from when it used do
  • now it uses 5.10's given/when
  • cursor's implementation of .cap to return matches in order was buggy and lost some matches from if/else statements
  • viv now translates :delete and :exists
  • that was part of the reason for changing the precedence of adverbs
  • adverbs are now parsed into a real AST node
  • treated more like postfix
  • modifying the node in place makes it difficult to maintain the AST
  • the warning message about Perl 5 regex modifiers was overzealous
  • it interpreted letters with whitespace in between
  • if appeared like a case-insensitive match
  • tightened up the error checker
  • added to my list of core types
  • thinking very hard about coercion and not so hard about trait auxiliaries

Patrick:

  • busy and productive week
  • worked on lots of little bug fixes
  • fixed .get and .lines to do the right thing: no extra lines, Nil when necessary
  • refactored postcircumfix brackets for the Positional role
  • it can do things in terms of itself
  • if you create a new class, you only need to define postcircumfix int
  • the others can define themselves in terms of it
  • you can define the others if you want, but you don't have to
  • had to update the handling of Whatever to return a closure
  • we were doing that for all operators except minus
  • that depended on getting postcircumfix fixed
  • ended up creating a new WhateverCode class
  • operators involving a Whatever return a WhateverCode
  • we can multidispatch and do special things on that
  • don't know if it'll last permanently, but it works for now
  • refactored Rakudo's assignment to define it in terms of .STORE
  • brings us a step closer to correct vivification of arrays and array elements
  • can write proxy objects which do the right thing
  • lots more discussion about various speed improvements in Parrot, especially with respect to IO
  • working on HLLCompiler
  • today working on making Rakudo work from an installed Parrot
  • Parrot does not make that simple
  • Vienna.pm has agreed to fund me for one Rakudo day per week in 2009, similar to what they have been doing for Jonathan

Jerry:

  • preparing for the Parrot Virtual Machine Workshop
  • will have more time to devote to Rakudo and Parrot during and after YAPC

Will:

  • nothing Perl 6ish
  • trying to encourage Parrot committers to blog their reports and not just put themon IRC
  • trying to write more regularly about Partcl
  • it's slowly returning to the peak passing rate
  • that's dropped quite a bit; been about six months since I've been able to do this on a regular basis
  • lots of memory limitations
  • I've been trying to write small test cases that demonstrate memory leaks
  • chromatic has fixed a lot of those
  • we've reclaimed a lot of tests since last week
  • tracked down a mismatch in Parrot and Tcl Unicode handling
  • have a workaround in place

c:

  • fixing memory leaks in Parrot, Rakudo, and Tcl
  • there's a big one specific to a Rakudo dynop
  • the other big one is Parrot_Context recycling in Parrot
  • I have a plan, but it's tedious to get there
  • also editing the Parrot book

Patrick:

  • Larry, what are you sending to the regexp engine on IRC?

Larry:

  • snowmen and comets
  • you can use them as delimiters... I don't know

Patrick:

  • I don't know why it works

Larry:

  • if you start it with a snowman, you should have to end it with a snowman

Patrick:

  • I'll look into it
  • I suspect it's a PGE parsing bug
  • it gets to the end and finishes without requiring a closing delimiter
  • looking at the Parrot VM workshop page
  • three hours is a long introduction to Parrot and PIR

Jerry:

  • that's easy to adjust

Patrick:

  • an hour for an intro to Parrot is fine
  • my experience in teaching new languages and systems is that you can go into the history and abstract sense of how it exists
  • but you end up losing more people than you gain
  • it's better to get into code quick

Jerry:

  • I haven't developed slides yet
  • threw it out there as a strawman
  • the people who have slides (slides can I borrow) should speak up
  • who wants to talk and who can do it?

Patrick:

  • will there be names by these talks?

Jerry:

  • there should be
  • I can add slots for names

Patrick:

  • I'll do PCT and the Rakudo stuff
  • unless someone's dying to do it, I can do the PIR stuff

Jerry:

  • Allison's done that in the past
  • I can take it over too
  • we've changed venue
  • we'll have two or three classrooms at CMU
  • not certain what our constraints are there on attendees and room size
  • we have 48 attendees signed up
  • Robert's frozen signups until we figure out venue issues
  • hopefully we'll open that up today

Patrick:

  • three attendees from our Perl 6 group in Dallas are going to YAPC for the Parrot VM Workshop