GSoC 5: Q:PIRsand

I've lost more time to the bog that is removing Q:PIR blocks. I keep triggering odd little bugs and only have the most complicated bits left. There are 7 Q:PIR blocks, of which 3 are to handle the multiple return values from post_children(). On bacek's advice, I'm going to just not worry about the last few bits. I'd really like to get rid of them by the end of summer, but at this point it's blocking forward progress.

Also, my pool has a pile of problems. It's green and the pump is broken and and and... I'm sure very few people care, but the repeated trips to the pool store are eating up far more time than I had intended.

June 20 Design PAST to newPOST Conversions: Emphasis for this week is on design rather than code. A complete list of what PAST constructs map to which newPOST constructs will be needed to have a roadmap for the next few weeks.

I've looked over the newPOST classes. Bacek added the following classes: Call, Constant, File, Key, Ops, Register, String, Value and VanillaAllocator. Most of these map fairly naturally to PIR concepts, so I'm planning on looking at everywhere push_pirop() is used. I think some of the nodes will be easy drop ins like escape() returning a POST::String and uniquereg() returning a POST::Register.

I've seen basically all the code to convert PAST to POST over the last couple weeks, so I don't expect this design phase to last very long. Hopefully I'll be able to write up something coherent enough for a blog post in the next couple days. If nothing else, I may write up a quick summary of the PAST and POST classes for easy reference.

June 27: Begin converting PAST::Compiler to use the new POST classes using the conversions decided in the previous week.

This should be started by the 27th, progress after that point will probably be slowed. I didn't expect to be headed to YAPC::NA when I wrote the schedule. I'm really looking forward to meeting some other Parrot hackers in person.