Perl 6 Design Minutes for 15 July 2009

chromatic on 2009-08-11T01:38:53

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 Captures versus Parcels 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