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:
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