The Perl 6 design team met by phone on 15 July 2009. Larry, Allison, Patrick, and chromatic attended.
Larry:
- continuing to think about the semantics of
use
versus need
- started splitting out the implementations thereof in STD
- continued to chart how
Capture
s versus Parcel
s behave
- clarifying the interface to the trait mod routines
- no extra, optional argument
- any incoming
Pair
argument becomes a mandatory, named parameter
Pair
smartmatch was too ambitious
- depowered it slightly
- it only works in the boolean sense
- "if you call this method, does it return something that is true?"
- matches with the truth of the
Pair
argument
- you can interrogate an attribute to see if it's true or false; nothing beyond that
- in reference to filetest operators... to see if a file is a particular size, you have to call the real method
- removed the
StatBuf
type
- now try to drive it off the IO abstraction
- fixed the less than awesome error message from using the null pattern in STD
- that straightens out a few related error messages
- otherwise answering messages and playing traffic cop
Allison:
- working on install tickets for Parrot
- some is simple patch review
- some is tracking down the source of problems
- lots of just an accumulation of little bugs
- I think Partcl now works
- looking at Ruby next
Patrick:
- curious to know if Partcl works on the platforms Andy Dougherty reported as problematic
Allison:
- probably has the same issue with spaces in compiler/linker options
Patrick:
- worked on the
-G
bugs which afflicted Rakudo
- they seem to be gone now
- lots of people helped there
- very pleased with that
- found a bug in Parrot's tracing runcore: caused a few problems
- played with a patch to get rid of STRING comparisons in Parrot's
isa
- right now, Parrot does a lot of STRING comparisons
- they're very expensive; creates a lot of STRINGs for that
- my patch improves Rakudo's spectests by 11%
- causes a problem with roles in Rakudo
- will wait until Jonathan returns before applying it
- found and fixed a bug in Parrot where it created PMCProxy objects for PIR classes
- that was a result of the STRING comparisons
- more work to unify PGE with S05
- added the null and fail tokens
- removed several deprecated builtins
- otherwise doing bugfixes and responding to questions
c:
- worked on Parrot GC problems
- still working on pluggable runcores
Patrick:
- for selecting candidates during MMD, the presence of a required named parameter is a filter
- is the opposite true?
- is the absence of a named parameter where a named argument is present also a filter?
Larry:
- required named parameters count as constraints in signatures
- if there's not a mandatory named parameter
- if it's an ordinary named parameter
- it's optional
- it's not a constraint
Patrick:
- if a named parameter is not present and you passed a name argument, it's going to fail anyway
Larry:
- yes
- it has to succeed in binding; that's the final test
Patrick:
- would it short-circuit that in any way?
Larry:
- we restructured the spec
- we classified things by nominal typing
- anything constrained is tighter than anything unconstrained
- you can have strict, nominal typing without constraints
- it'll report ambiguous resolution at compile time
- constraints require runtime testing
- constraints resolve in order of declaration
- anything without a constraint can come afterward, as the default case
- we hope it works out that way
- seems closer to DWIMmy than what we had before
- it generalizes by not being constrained or by being placed last