Parrot On RTEMS
Status: Compiles and a couple of tests run. Needs clean up for submission to Parrot and all appropriate tests passing.
Introduction: Parrot is a cool project that Chris and Joel think would be an enabling technology for RTEMS. It would let RTEMS developers include code written in numerous dynamic languages into the hard real-time environment RTEMS supports. This would be especially useful for scripting on the target. Consider a remote control robot where the command language was in a dynamic language that could be converted to byte-code, uploaded to the target, and then executed. This is just the tip of the iceberg that is possible with Parrot on RTEMS.
Requirements: You will need to have to feel comfortable tracking now small issues, providing clean solutions and getting them integrated into their appropriate code base. Some issues will require modifications to the Parrot build system or Parrot itself. Some may require augmenting RTEMS to make life easier for Parrot. A lot of this project will be building a test framework for Parrot on RTEMS and fixing what is broken. We don't know how many tests will require investigation and debug but RTEMS is sufficiently POSIX compliant where we expect this to be minimal. There may be places where Parrot can be tuned or "down sized" for embedded systems. This should be investigated. Also, there is the issue of Parrot not currently having a real-time garbage collector algorithm. This can be further investigated but may turn out to be too large a project for a single Summer of Code project.
- Chris Johns was inspired at the 2009 Google Summer of Code Mentors Summit and got an initial port running a few tests together very quickly.
As the project progresses, you will need to add build instructions, etc and this page will evolve from a project description into a HOWTO.
- Introduction to Parrot Presentation: The following are links to various digital representations of Jonathom Leto's early 2010 talk "Introduction to Parrot VM" talk that he gave to the Portland Perl Mongers (PDX.pm):