: 
Mime-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit

Hi, Jonathan (and everyone else)!

Wednesday on IRC, we discussed the "M2 Bytecode format" milestone.  This
email is my attempt to formalize a plan for this work.  I am hoping you
will read through it and tell me how wrong I am. :)

First off, I've created a branch (named pdd13pbc) for this.  So that's
where all this work is going to go.

As we discussed, there are two top level goals here:

1.  Update the disk format and/or interface to match the PDD13 spec.

2.  Move all of the .pbc-handling code into a PackFile.pmc class.


At your suggestion, I'm going to be focusing on the second option.  It
seems to me that I should tackle this in the following order:

2.1.  Create some simple PMC classes named as specified in PDD13.

2.2.  Toss together some methods which wrap around the existing
src/packfile.c, src/packdump.c and src/packout.c functions.

2.3.  Write a bunch of tests, test the hell out of it.

2.4.  Start moving everything in parrot over to use the new PMC-based
packfile API.

2.5.  Copypaste pieces of packfile.c, packout.c, packdump.c code into
the PMCs, to make them self-reliant.

2.6.  Test the hell out of it.  (Again.)

2.7.  Rip out src/pack*.c and make sure nothing breaks.


Questions:

Does this plan sound reasonable?

Should this PMC implement the "pdump" functionality (src/packdump.c) as
well as packfile.c/packout.c?

Speaking of "pdump", it seems to be mentioned in various places,
mostly documentation and scripts, but it does not actually seem to be
buildable. Judging from the documentation, there used to be a "make
pdump", but not any more. What's up with that?

Should I be tracking these subtasks in RT, or just keeping track of
things on my own?

Mark

Reply via email to