Perl 6 Design Minutes for 06 February 2008

chromatic on 2008-02-09T01:00:24

The Perl 6 design team met by phone on 06 February 2008. Larry, Jerry, Will, Jesse, Nicholas, and chromatic attended.

c:

  • fixed a couple of bugs in Parrot
  • still have a few more to investigate (hopefully will get to Tcl and Lua)
  • spent a lot of time fixing memory leaks in IMCC
  • lots of refactoring there with Andy, lots to go
  • hopeful we can explore a switch to PIRC in the near future
  • a little bit of work left on the PMC PDD
  • promised to review the GC PDD; some concerns there

Larry:

  • spent most of the week contemplating and implementing changes to the way assignment decides whether it's item or list assignment
  • the old method was quite insane in various ways
  • if you're assigning to a scalar, it's an item
  • assignment otherwise parses as list assignment
  • users and parsers should be able to keep easy track of
  • also actually edited Pugs, in Haskell, to change the determination semantics
  • it actually recompiled successfully

Nicholas:

  • I didn't know it compiled at all these days

Larry:

  • I'm still on GHC 6.6.1, and that works
  • someone proposed named placeholders
  • very handy for certain database problems
  • there are various contexts where that would be useful
  • you could do that by dereferencing the same hash...
  • because $:foo is still available and :foo looks like a named variable, I made that the named version of $^a

Jesse:

  • how similar does that end up looking to named captures?
  • is the syntax similar?
  • in my head, named captures and named placeholders...

Larry:

  • named captures end up in a hash
  • never get bound to variables
  • this actually creates variables
  • also if you refer to @_ or %_ in one of these subs, it automatically adds that as a slurpy on the end
  • you can get control of unrecognized placeholders there
  • for a better error message, for example
  • just filling out named placeholders
  • not sure how generally useful it will be
  • it felt more orthogonal for me
  • created another twigil
  • filling out the twigil set... the more twigils we have, the more it justifies the twigil design
  • not a very strong razor, but it's a razor
  • it doesn't interfere with the other colon declarative "make this a pair" argument in signatures
  • hanging out, answering questions, tweaking F where it's unclear or people notice a fix
  • putter's working on yet another F analyzer
  • intended for use in backends other than Pugs
  • whether we use that for anything, he's discovering various infelicities in the standard grammar
  • TPF turned down ruoso for a grant to work on SMOP
  • discouraged him some
  • his work has helped me understand the ramifications of things like captures at a very fundamental level

Jerry:

  • worked with Andy a bit this week to wrap snprintf() and get it working on Windows
  • it's not C89
  • glad to see Larry's work on list and item assignment
  • looking forward to implementing that with Patrick
  • submitted OSCON talks for Patrick and myself
  • falling behind on development due to real life
  • hope to pick up next week sometime
  • I don't want the pace to slow too much, with Patrick unavailable this week
  • also committed a first pass at perl6doc for Rakudo this week
  • it's not much, but it's a place where people can start hacking on the POD grammar
  • I know people have held back from implementing things because the spec isn't finished
  • I don't see any point in waiting for implementing things here

Will:

  • I agree
  • we'll have to cut a release at some point
  • #parrot is now logged
  • hopefully that'll help people get up to speed
  • going through and trying to clean up some old RT tickets
  • trying to get movement on things that are a simple matter of cleanup
  • oh, and I'm on TPF's grant committee now as a Perl 6 person

Nicholas:

  • brian d foy raised a bug about the issue of when with hashes and arrays in 5.10
  • he's trying to teach the stuff and work out examples
  • I haven't looked at it, because I'm focusing on 5.8.9