V6 (Perl)

From Wikipedia, the free encyclopedia

The correct title of this article is v6 (Perl). The initial letter is shown capitalized due to technical restrictions.

v6 is a Perl module which runs under Perl version 5, and transforms Perl 6 code into Perl 5 code on the fly. To quote the release notes:

In summary: Perl 5 is now a first-class virtual machine for Pugs, and in this journey toward self-hosting, we will share as much common structure as possible between the Perl 5, Haskell, and the Parrot runtimes. [1]

Contents

[edit] Components

v6 is comprised of many parts, divided into a stack of services which can be used to write Perl 6 code directly, or to implement Perl 6 features in Perl 5 programs.

[edit] Moose

Moose and other modules such as Class::MOP provide a low-level emulation of Perl 6's object model and meta-object protocol. This object model can be used directly or through v6.

[edit] Pugs::Grammar::Rule

Pugs::Grammar::Rule provides access to Perl 6's "rules", which are a superset of classic regex functionality which allow the development of entire grammars.

[edit] Data::Bind

Data::Bind provides the parameter binding features of Perl 6, including named parameters.

[edit] Module::Compile

Module::Compile is like a source-filter, but is safer for real-world code development. It is this module which allows v6 to parse Perl 6 code and directly translate it into Perl 5 code which is then executed.

[edit] Notes

  1. ^ audreyt. Pugs 6.2.12 and v6.pm released!. use Perl.

[edit] External links