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

Research embedding Parrot into FireFox

completed by: Alexander Moquin

mentors: whiteknight

Task Description: Modern web browsers use embedded language interpreters to run scripts on the website. The most common example of this is JavaScript, but other examples are VBScript and less commonly PerlScript. We would like to have a mechanism to embed a Parrot interpreter into a browser so that any HLL running on top of Parrot can be embedded into a browser and executed on a client-side webpage.

The student should research mechanisms for how to embed a Parrot interpreter into FireFox, 3.5 or later.

The student should find documentation for whether embedding a custom interpreter in that browser is possible, and if so how to do it. The student should summarize the available options and the necessary steps to create the embedded interpreter. The student should make recommendations for the Parrot developer community about the best ways to pursue these goals.

Specific Steps:

  1. Find documentation and, if possible, existing examples of embedding a custom language interpreter in FireFox.
  2. Summarize the options and steps in that documentation, and send it to the parrot developers mailing list (parrot-dev@lists.parrot.org)
  3. Create a list of recommendations to the Parrot community about the best way to proceed, and how best to enable an embedded Parrot interpreter into the browser reviewed.
  4. Work with a Parrot mentor to publish the findings of this task as a blog post on parrot.org

Benefits: The web browser is a ubiquitous and important piece of software that has been dominated for many years by JavaScript. Being able to embed scripts in other languages into the browser would be a major benefit for developers, and would be a major new deployment vector for HLL projects running on top of Parrot.

Links: http://www.parrot.org