V6 (Perl)

v6 is a module for the Perl programming language which runs under Perl version 5, and transforms Raku 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

* 1 Components
* 1.1 Moose
* 1.2 Pugs::Grammar::Rule
* 1.3 Data::Bind
* 1.4 Module::Compile
* 2 Notes
* 3 External links

## Components

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

### Moose

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

### Pugs::Grammar::Rule

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

### Data::Bind

`Data::Bind` provides the parameter binding features of Raku, including named parameters.

### 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 Raku code and directly translate it into Perl 5 code which is then executed.

## Notes

1. ↑ audreyt. "Pugs 6.2.12 and v6.pm released!". use Perl. http://use.perl.org/article.pl?sid=06/07/07/1532235&from=rss.

## External links

* v6 on CPAN

0.00

(0 votes)

|

Retrieved from "https://handwiki.org/wiki/index.php?title=Software:V6_(Perl)&oldid=741197"