Programming, Software and Code

My Personal Roadmap for Parrot 2.0

I've drawn up a handy little roadmap of the tasks I want to get completed before Parrot 2.0 is released. This is by no means a comprehensive list, nor is it some kind of sign of task ownership: These are items that I want to see implemented, and if nobody does them first I will try to do them myself. I've helpfully color-coded this graph. Green items I finished yesterday, Red items I am currently blocking on, and Blue items are things that I would like but that I don't reasonably expect will make it in before 2.0.

The arrows represent a general flow for these projects. They don't necessarily show strict dependencies, just a vague notion I have that combines dependencies, priorities, and my personal work flow. There are some items that I am just going to do in a certain order.

There are four main channels for this work:
  1. GC: Yesterday I merged in the branch with my most recent round of GC cleanups. Next on the task list is to get a proper incremental GC core implemented and integrated. There's some cleanup work to do first to support it, but I think I have a good plan to get it started.
  2. PCC: Once Allison gets done with her major refactor that's in the works (she estimated they will land before 1.4) I want to get my grubbly little fingers deep into the PCC system. First step is turning Contexts into PMCs, and then lots of refactoring, optimizing, and bugfixing after that. A big part of all this is getting subclassing working seamlessly in PIR, an area where we have a few outstanding problems. We also want to make sure we get some things implemented that Rakudo is blocking on.
  3. IO: There are some cleanups needed by the subsystem, but not many. The big task here is getting an asynchronous IO system implemented.
  4. Documentation: I've found a number of places in the PDDs that need updating, and some areas in the book that need cleaning before it heads to press in June. After that, we want to expand the book from a simple "Users Guide" to a full-on "Developers Guide".
So that's my basic list of things that, life willing, I'll try to have implemented by Parrot 2.0. This isn't really a comprehensive list either, I imagine there are a few other things that I'll end up working on between now and then too.

This entry was originally posted on Blogger and was automatically converted. There may be some broken links and other errors due to the conversion. Please let me know about any serious problems.