GSoC/GCI Archive
Google Code-in 2011 Parrot Foundation

Handle TODO notes in src/extend.c

completed by: Tristan Hume

mentors: Andrew Whitworth

Task Description

In the file src/extend.c there are two functions with TODO notes: Parrot_PMC_newclass and Parrot_sub_new_from_c_func. These two functions are ugly, old, and in need of some love. Move Parrot_PMC_newclass to src/oo.c and rename it to Parrot_oo_new_class_pmc. Change Parrot_PMC arguments to PMC*. Move Parrot_sub_new_from_c_func is ugly and useless. Delete this function outright. Remove references to it from tests. If the tests rely on that function, or cannot be rewritten without it, delete the tests.

Steps To Complete This Task

  1. Create a fork of parrot.git on
  2. Move/Rename/Cleanup functions as described.
  3. run "make headerizer" to update header files with the new function names/locations
  4. Build parrot and run it's test suite (make test) to verify that things still work
  5. Create a Github pull request (button on the upper right of your fork) to have your changes incorporated into the master repository


  1. Cleaning up dirty old functions is important. Sometimes they can be cleaned and made fresh again. Sometimes they are too ugly and need to be deleted. Either way, less bad code is good.


  1. C Programming

Additional Links