The Perl 6 design team met by phone on 29 October 2008. Larry, Allison, Patrick, Jerry, Will, Jesse, Nicholas, and chromatic attended.
Allison:
- slowed down on MMD bug fixing
- cleaning up the last bugs now
- started the IO branch
- getting the code in much cleaner working order
- eliminated the old pseudo-object system we had
- changing that to use the current, existing object system
- it looks like it will work cleanly
- mostly can keep most of the old code
- just change it to use objects, not just function pointers
- the initial FileHandle PMC
- moved the Unix, Windows, and Standard IO functions into a single set of functions loaded by Configure
- moving the UTF-8 stuff into utility functions, instead of layering it on top in a difficult-to-maintain fashion
- looks like we won't use roles at all for IO
- I thought we might need them to emulate layers
- it turns out that most layers weren't composed behavior at all
- you need this set of functions on one OS and this set on another
- roles don't really solve that
Jerry:
- delegation, not composition
Allison:
- it's really a lower level than that
- operating system utility libraries
- an interface to the OS
- you don't want to interact with the OS directly
- behind the interface, you compile it to do a different thing on a different OS
Nicholas:
- Daniel Ruoso asked me on IRC about adding pointers to every SV
- he's looking at that for SMOP
- hope to have the release out on the weekend
Larry:
- still in the middle of doing the doctor thing on my shoulder
- going in for an MRI this afternoon
- making arrangements for my December trip to Australia
- maybe or maybe not Amsterdam, depending if we can work it out
- most of my work has been responding to various things that the SMOP folks and the syntax highlighter folks have found difficult in the STD parser
- refactoring some of that
- parameter parsing was not right in various ways
- the parsing for things like POD comments was suboptimal
- tended to attach it to the previous block where it ought to be independent
- parsed better now
- there were difficulties parsing assignment operators
- tended to parse a
<==
as less-than equal turned into an assignment operator - nipping and tucking on trying to cut down memory usage and the amount of cursor construction that has to go own
- figuring out which cursors can be treated as mutable
- and when we have to do copy-on-write
- in general thinking about how I can make the parser faster
- hopefully get rid of TRE over the next month or so
Jerry:
- things are going well
- just returned from the Google Summer of Code mentor summit
- Jonathan Leto and I represented TPF
- had a good time
- I plan to write something about it, when I have the time
- mostly devoting tuits to the Parrot Developer's Summit, coming up in the middle of November
- expect that to be the case for the forseeable future
- unfortunately lost the tuits I had to do namespace importation in Rakudo
- it's very close to being done
Patrick:
- worked more on fixing lexicals in Parrot
- getting them to work the way we need them in Rakudo
- down to 16 failing core tests
- most of those have to do with relying on autoclosing called subroutines
- working on a design and implementation for that
- shouldn't take too long
- it's going cleaner than I thought, assuming I haven't made gross errors
- have worked on cleaning up exception handling from the PIR perspective
- trying to get us caught up to date on that
- published a lengthy note to the list last night describing how we should write exception handlers
- otherwise, responding to the Rakudo ticket queue
- either applying patches or describing why they won't work
- getting feedback to people submitting patches
c:
- I've been fixing a lot of bugs
- wrote up how I fixed autoboxing primitives in MMD
- fixed at least one segfault for Will, have more to look at
- also fixed a couple of memory leaks
- the default PIR programs now should never leak any memory
- but IMCC still leaks memory in some cases
- will continue to fix any segfault reproduced as nicely as Will has done
Will:
- the lead-in to that
- spent most of this week trying to reduce several thousand lines of Tcl into a small PIR program so I could get past a segfault
Jerry:
- one nit in the exception handler API
- when you mark it as not having handled something, you set it to zero
Allison:
Patrick:
- that's going away
- at the moment, because exception handlers are automatically disabled, you re-enable it by setting it to zero
Allison:
- that was a hack for backwards compatibility
- it's going away
Jerry:
Patrick:
- I hate the fact that 0 re-enables it
- I'm about to run the tests that turn off the auto-disable feature
- I have everything that the pops are where they should be
- I'll see what breaks
Allison:
- any failures should be updated pretty quickly