My name is Brian Gernhardt and I'm a Google Summer of Code student. My project is Migrating PAST to NQP and newPOST. The full description of my project is there, along with a short biography, but for those who want to skip the nitty gritty details, I'll give a short version here.
I'm a Master's student in Rochester Institute of Technology's Computer Science department. I got my bachelor's degree from RIT about 5 years ago and did some contracting before deciding to go back to school and try to follow up on my desire to teach. My interests tend to lie in tools and languages: I've participated in git development, have been following Perl6 since the apocalypses, and have written an introduction to PCT. I've used a dozen or so programming languages and still consider myself fairly fluent in most of them.
My project is building on top of bacek's nqp_pct branch. In there he ported over a version of POST from PIRATE that can generate bytecode directly without dealing with PIR or IMCC. My project is split into three main tasks:
- Converting PAST to NQP: I wanted to convert PAST from PIR to NQP for two reasons: newPOST is written in NQP so having PAST match it seems simpler and it is easier to deal with complex code in NQP than PIR.
- Getting PAST to speak newPOST: newPOST has a several classes oldPOST doesn't so PAST::Compiler will need to be taught how to use them before anyone can go from PAST->POST->bytecode.
- Adding new features: bacek said newPOST doesn't have 100% of the features compiling via PIR does. Known gaps are annotation and debugging information, but I will attempt to use the Squaak example language and NQP itself to find more gaps.
Reading through the long but informative email I received from Whiteknight, I have a variety of things to do during this "Community Bonding Period".
- Check in with my mentor: Hello bacek, if you're reading this. From what I've gathered on IRC, I am 14 hours behind bacek. That part of GSoC should be interesting to say the least. I tend to be a night owl, so will be fairly naturally awake until mid-afternoon his time. I'll try to catch him on IRC sometime this week.
- Let people know about vacations: I don't currently have any vacation plans, other than attempting to get down to YAPC::NA.
- Blog about my project progress: Check.
- Attend #parrotsketch: I've been lurking in #ps meetings for a few weeks now, but will start posting reports.
- Submit a Contributor License Agreement: I mailed off a PDF to legal@, which appears to have arrived intact.
- Set up a github account: This was particularly easy for me to do, since I had already done it. I've created a fork of parrot.git and will connect it to my local checkout today.
- Prepare development environment: I've been compiling parrot for months, so I think I'm set there.
As noted in my original proposal, I'm rather busy with my coursework at the moment, so I'm not sure how much I'll be able to do prior to the end of the quarter (May 20th). I am looking forward to the end of May so I can have plenty of time to dig into this project.