GSoC/GCI Archive
Google Code-in 2010 Parrot Foundation and The Perl Foundation

Remove PCC calls from the IO API

completed by: Andrew Inishev

mentors: whiteknight

Task Description: The Parrot IO system allows Parrot to communicate with the outside world using files, sockets, and other mechanisms. This system is in the middle of being cleaned up because of recent changes. One major change is that type-specific objects (FileHandle, StringHandle, Socket, etc) methods call IO API functions, not the other way around. However, some old method calls still exist inside the IO API, and these need to be removed.

Steps to complete:

  1. Fork the parrot/parrot repository on github
  2. Open the file src/io/api.c and remove all calls to the function Parrot_pcc_invoke_method_from_c_args(), and any dependent logic.
  3. Build Parrot and run the test suite (make fulltest)
  4. IF all tests pass, open a pull request on github to have your changes merged in.
  5. IF some tests fail, prepare a short report detailing which tests fail and why they fail (short interpretation, does not need to be in-depth) and email that report to This information will be used later to help our developers make necessary changes to the system.