wiki:Projects/Parrot

Parrot On RTEMS

Status: Compiles and a couple of tests run. Needs clean up for submission to Parrot and all appropriate tests passing.

Mentors: Chris Johns? and Jonathan Leto? from Parrot with Joel Sherrill? as backup.

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.

<blockquote> Parrot is a virtual machine designed to efficiently compile and execute bytecode for dynamic languages. Parrot currently hosts a variety of language implementations in various stages of completion, including Tcl, Javascript, Ruby, Lua, Scheme, PHP, Python, Perl 6, APL, and a .NET bytecode translator. Parrot is not about parrots, though we are rather fond of them for obvious reasons. </blockquote>

Goal: Support Parrot on RTEMS. With all due respect to the Muppets, we want "BIRDS IN SPACE!"

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.

Resources: TBD

Acknowledgements

  • 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.

Miscellaneous Sections

As the project progresses, you will need to add build instructions, etc and this page will evolve from a project description into a HOWTO.

References

  • 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):
Last modified on May 27, 2010 at 6:27:18 PM Last modified on May 27, 2010, 6:27:18 PM