Programmers Heaven jobs
VB.Net Developer
Oracle, SAP, Java, QA training and placement
Senior Engineer – Logs Development, Ad


More jobs                Post a job


Perl 6 FAQ - Related Projects

This FAQ is part of the Programmer's Heaven Perl 6 FAQ. There are a number of projects working to implement Perl 6 along with the Perl 6 tool chain; this FAQ answers questions about them.

What is Parrot?

Parrot is a virtual machine that is currently under development, and is intended to be one way (but not the only way) to run Perl 6 programs. Virtual machines, such as the .NET Common Language Runtime and the Java Virtual Machine, hide away the details of the hardware and operating system, meaning programs can be written once and run anywhere.

Unlike the .NET CLR and the JVM, Parrot is built with running dynamic languages in mind, including Perl 6. As well as running Perl 6, the aim is to provide interoperability between many languages (such as PHP and Ruby). That is, you should be able to write a class in Ruby, inherit and extend it in Perl 6 and use it in PHP. This is a little way off, but work is well underway.

Parrot provides a binary bytecode format, allowing you to cut out the parsing and compilation phase and distribute binary versions of your code rather than the source code.

Perl 6 Program => Compiler => Parrot Bytecode => Parrot


Parrot also provides a JIT compiler, potentially allowing Perl 6 programs to perform very well. Even on platforms where that is not available, it should still be able to beat Perl 5 in many cases.

You can learn more about Parrot by visiting the website: http://www.parrotcode.org/

What is Ponie?

Ponie, short for "Perl5 On New Internal Engine", was an attempt to take the Perl 5 interpreter and re-work it to use Parrot to run code under the hood, enabling Perl 5 programs to run on Parrot. Since the Perl interpreter is pretty much the specification for Perl 5, writing a Perl 5 compiler from scratch is near impossible.

Ponie resulted in a great deal of good refactoring of Perl 5 itself, but never did meet its goals and the project was ended in the summer of 2006.

What is Pugs?

Pugs is a prototype implementation of Perl 6, started in early 2005 by Audrey Tang. It is written in Haskell to allow fast development and a strong focus on the semantics of the language, and has grabbed the attention of many who thought the Perl 6 project was never going to reach a state of completion. Pugs remains the most complete Perl 6 implementation and has spawned a lot of sub-projects, many of which are playing an essential role in bootstrapping Perl 6. It has allowed many areas in which the Perl 6 specification was lacking to be identified and fleshed out.

Pugs includes work on compiling Perl 6 down to Parrot, Perl 5 and even Javascript so you can run it in the web browser, client side! Unlike Perl 5, there is no single official implementation of Perl 6. This is one good consequence of the language being better specified.

You can check out and download Pugs (links to binary Windows builds are available) at the website: http://www.pugscode.org/

What is Moose?

Moose is a set of Perl 5 modules that provide the semantics of the Perl 6 object system to Perl 5 programs. They do not, however, provide the Perl 6 syntax. You'll need to use Perl 6 to get that. Moose is a good framework for doing object orientation in Perl 5, and is used by the Perl 6 to Perl 5 compiler. See the module on CPAN for more information. http://search.cpan.org/~stevan/Moose/lib/Moose.pm

What is CPAN6?

CPAN6 is a planned replacement for the current CPAN - a huge archive of Perl 5 modules. The vision is to open up the system to many other languages. A new feature that will attract large organizations deploying CPAN modules is module signing, helping to protect against bad releases of crucial modules making it into the wild. Read the latest on CPAN6 here: http://www.cpan6.org/


Back To FAQ List | Next Section

What's next?


Join our Perl 6 Newsletter
Email:



Visit our Perl Resources


  User Comments


riya

From India
(Report as abusive)
"Very Useful"
this faqs made to know about many things unknown and it helped me a lot
  View all   Rate and comment this article




 
Printer friendly version of the Perl6-FAQ-RelatedProjects page


Sponsored links

Build IT Knowledge with Current & Trusted Content
Helps Employees Develop & Hone New Technical Programming Skills. Sign Up & Get Full Access.
Check Out IT Certification Preparation Materials
Sign Up With SkillSoft & Get Access to Training Materials for Over 50 Professional Certifications.
PureCM Software Configuration Management
Version control and integrated issue tracking - powerful and easy to use. Get your FREE trial now!
CSTSOFT Instrumentation .NET & ActiveX Components
A collection of 13 instrumentation .NET/ActiveX/VCL components including Gauge,Knob,LED,Trend etc.
Software Localization Tool Sisulizer
Localize DotNet, C++ Builder, Delphi, C/C++, Visual Basic & Java apps & html help. Try Sisulizer now


Newsletter | Submit Content | About | Advertising | Awards | Contact Us | Link to us |
© 1996-2008 Community Networks Ltd All rights reserved. Reproduction in whole or in part, in any form or medium without express written permission is prohibited. Violators of this policy may be subject to legal action. Please read Terms Of Use and Privacy Statement for more information. Development by Synchron Data - .NET development.