The Perl 6 design team met by phone on 08 October 2008.  Larry, Allison, Patrick, Will, Jerry, Jesse, Nicholas, and chromatic attended.
Larry: 
- things are proceeding apace
- spent most of the week either in Illinois or traveling to and from it
- a really good conference, ACM Reflections/Projections
- University of Illinois at Urbana-Champaign
- 500 attendees, a wide variety of interesting speakers
- gave two talks, good attendance
- good hobnobbing with Al Aho too
- think Awk, Dragon Book, regular expressions
- he had some very good questions
- had a great time naming the ten most influential programming languages over lunch
- despite that, I also did a fair amount of hacking
- wrote a little parse tree to AST transformer
- thought it would be complicated
- did it all pretty much with an AUTOLOAD
- basically comes out with a typed parse tree
- I noticed some infelicities in the AST
- some artificial nodes, particularly innodes
- just a leftover from the mechanism
- I stole an idea from Haskell then
- the ~macro knows about parsing something between two delimiters
- hacked that into the specs and STD.pm 
- it seems to work now
- cleans things up considerably, including the AST
- allows for better error messages
- in the talk on a derivative of APL that Morgan-Stanley uses, Q, I noticed the ability to do something missing in Perl 6
- the ...infix operator iteratively applies a function to the tail of a list as it's generated
- now it's trivial to implement Fibonacci
- lots of hanging out on the mailing lists and IRC
- keeping people feeling like they know what's going on
- a bunch of bug fixes
- more accurate parsing of goal-oriented constructs, such as the end of argument processing
 Allison: 
- merged in the MMD branch this week
- has been a big thing for the past longer-than-it-should-have-taken
- a couple of issues in some languages after the merge
- most of them will be resolved by dispatch system cleanup
- there are two dispatch systems, PCCINVOKEand the oldrunops_from_csystem
- a few strange issues like results registers not existing when you try to access them
- caused some segfaults
- Andrew and I will try to rush through the first two items and merge that back as soon as possible
- should resolve some issues in Rakudo
- seems to be what's left after we fixed the other problems
- also starting the IO milestone branch
- talked to Simon Peyton-Jones in the UK about some of the stuff we're doing with concurrency and encapsulated dispatch CPS
- didn't plan to meet with him, but my advisor called him over
 Patrick: 
- two focuses this week
- getting HLL type mapping to work in Parrot and PCT
- language translators need to run in their own namespace
- Stephen Weeks has helped out in a big way
- should open up quite a few avenues for development and make other things easier
- a longstanding issue was moving some of the compiler tools to Parrot's model of namespace handling
- until now, they used a flat namespace
- we're almost ready to merge that branch back in to trunk
- then we can put Rakudo and Cardinal into their own HLL namespaces
- then we can do HLL typemapping
- an integer PMC in Parrot will map to a Perl6Int rather than an Integer PMC
 Jesse: 
- I thought a discussion in Copenhagen had Allison saying that that automapping shouldn't happen
 Patrick: 
- it's not cross-language type conversion
- inside of Parrot, in PIR, if I have an Integer constant promoted into an object, what kind of object should it become?
- that depends on the active HLL
 Allison: 
- it's not really a coersion
- "in this context, Integers autobox to this type of PMC"
 Patrick: 
- each HLL gets to decide how to autobox low level types
 Will: 
 Patrick: 
- yes
- but in the process, we find places where Parrot doesn't do what we want
- I file tickets for those
- because of the MMD merge, Rakudo is failing 74 new tests, most of them due to the Complex PMC
- a little regression there
- I'm sure the problem is the IMandREmacros
 Allison: 
- I'm not sure
- in theory, it's actually dispatching to the proxy complex object within the Perl 6 complex object
- it may be there's a problem still with Object
- it still uses the old dispatch for subroutines within C
- I've manually updated them to the new approach and it fixes them
 Patrick: 
- I traced it in gdb
- I get to the appropriate sub and the REmacro doesn't get the right value
 Allison: 
- I'll try updating Complex to remove those and see if that does it
 Jerry: 
- on my way to Portland to give a hands-on Rakudo presentation tonight
- I may be able to get them passing by the time I arrive
- but I can explain them away
- we'd like to get them passing before PPW
- it's probably time to make the spectests in Rakudo the default make testtarget
- spent my week trying to get is exportto work
- found a few rabbitholes along the way
- added the apostrophe and other identifiers to the grammar
- added some magical $*variables based on a contribution
- ran into a problem where namespaces aren't working properly
- Patrick's looking at that
- Jeff Horwitz found something similar when working on mod_perl6
- glad to see the MMD branch merge
- but some of the failures make it harder to see if I broke anything
- would like to see that cleaned up in the next couple of days
- or we'll mark those tests as TODO for PPW so that we have clean results
- I have the next release on the 18th
- one of my targets is to get 4500 Perl 6 tests working
- we're at 4300 now, with the failures
- it's a reasonable target
- will be attending PPW
 Patrick: 
- my focus for PPW is Rakudo
- trying to get people to contribute code or test suites
- I'll conduct sessions to walk people through the steps they need to contribute to either or both
 Will: 
- moved Partcl out of the Parrot repository into its own repository
- sent out URLs and notifications
- that'll give me a way to target a very specific version of Parrot
- rather than working against what's currently in HEAD
- should give me the ability to make more progress
- have made some, but not as much as the infrastructure changes
 Jesse: 
- probably won't be here next week
- what do people need?
- okay, that was quiet
 Patrick: 
- Larry, you mentioned that the .matchmethod sets its caller's$/, is that correct?
 Larry: 
- yes
- it seems consistent
- essentially an implementation routine for if you use it directly
 Patrick: 
- Allison, on the calling conventions page, the :lookaheadoption isn't there
- is that an oversight?
 Allison: 
- it's there in a sense of "What's this going to do?"
- do you have a ticket for what we talked about in Copenhagen?
 Patrick: 
- I thought the notion of using a Capture-like object for the calling conventions is a big plus
 Allison: 
- that's done
- but not pervasive throughout the system yet
 Patrick: 
- can I put a note in there "don't forget about :lookahead"?
 Allison: 
- there are no details about what it should do or how
- add to it or create and link to a ticket
 Patrick: 
- the design seems okay to me
- I'm looking more for an implementation than anything else
 Nicholas: 
- p6l has gone off about rationals and floating point numbers
- seems to have lost all basis of rationality of implementation
- not sure that any implementor has commented on it
- was that intentional?
 Larry: 
 Patrick: 
- I'll describe what Rakudo does and what the spec says, but I avoid discussions as to what Perl 6 should be doing
 Larry: 
- notice the spec hasn't changed
 Patrick: 
- that said, I agree with the notion that Parrot's Integer should have BigInt semantics without having to change its type
- not that it's always a BigInt, but it could seamlessly change from the default Integer type without having to change its type
 Allison: 
- that might solve our horrible problems with the overflow code
 Patrick: 
- I know that Allison mentioned on IRC that morphing maybe should go away
- it has problems with subclassing
 Larry: 
- Perl 6's view is that it's always a BigInt
- it can cheat on a faster storage format if it can
 Patrick: 
- Rakudo has a similar view
- the morphing issue...
- Rakudo may end up with its own PMCs for everything
 Allison: 
- I expected that from the start
- one of the ways an HLL customizes the virtual machine is by providing its own PMCs
- we ended up with a lot of PMCs for some reason
 Patrick: 
- it would be nice if Parrot supported that natively
 c: 
- it'd be nice to have a vtable swapping technique that let us get rid of all of those switch statements
- it's just a table full of function pointers
- we can avoid morphing in some cases
- take the Key PMC for example
 Allison: 
- getting rid of morphing would be nice
- some MMD default variants that set native numbers morph Integers into Floats transparently
- the Integer overflow code is broken
- mostly the problem is that it's doing direct MMD rather than a vtable call
- a vtable call would let BigInt override some of those vtable functions
- would resolve a lot of problems there
 Nicholas: 
- signed integer overflow is undefined in C
- 64-bit Irix bit me
- unsigned overflow is well-specified
 Patrick: 
- are any of the n_*opcodes sticking around?
 Allison: 
- a few
- the ones that didn't have a funky alternate dispatch system
- I didn't modify them because they caused test failures
- assume they're going away
-  notandabs
 Patrick: 
- and neg, or one other one too
 Jerry: 
- do we need to deprecate them?
 Allison: 
- we'll do that in the calling conventions cleanup
- when I deprecated them, I think I said "all n_*ops"