NAME
v6-pugs - an experimental Perl 6 implementation
SYNOPSIS
Command line:
$ perl -Ilib lib/v6.pm -e ' for 1,2,3 -> $x { say $x }'
Compile-only:
$ perl -Ilib lib/v6.pm --compile-only -e ' <hello>.say; '
Script or module:
# file: hello_world.pl
use v6-pugs;
"hello, world".say;
$ perl hello_world.pl
DESCRIPTION
The "v6-pugs" module is a front-end to the experimental Perl6-to-Perl5
compiler.
The current state of this compiler implementation only provides a small
sample of Perl 6 syntax and semantics.
Other Perl 6 implementations
The Pugs/Haskell Perl 6 is currently the most complete implementation.
Pugs currently has some issues with Perl 5 interoperability.
Parrot Perl 6 is the best performing implementation by far. The Parrot
implementation is currently at a comparable state as v6.pm.
Although running "v6-pugs" requires the installation of a lot of Perl 5
modules, it is completely independent of Pugs or Parrot.
REQUIREMENTS
- The source file header must be valid perl5 *and* perl6 code.
This is a valid header:
#!/usr/bin/perl
use v6-pugs;
* it executes perl5
* perl5 will call the "v6.pm" module.
This is an invalid header:
#!/usr/bin/pugs
use v6;
* it tells perl5 to execute "/usr/bin/pugs".
* it tells perl5 that Perl v6.0.0 required.
- The "Pugs::Compiler::Rule" module must be properly installed.
An improperly installed "Pugs::Compiler::Rule" module would prevent the
Perl 6 compiler from bootstrapping.
If that is the case, running "Makefile.PL" and "make" in
"Pugs::Compiler::Rule" should fix the problem.
- The perl5 executable must have PMC support.
PMC support is required for loading precompiled Perl 6 files.
If you see the error below, it may happen that your perl was compiled
without PMC support.
Can't locate object method "compile" via package "Pugs::Compiler::Perl6"
AUTHORS
The Pugs Team <perl6-compiler@perl.org>.
SEE ALSO
COPYRIGHT
Copyright 2006 by Flavio Soibelmann Glock and others.
This program is free software; you can redistribute it and/or modify it
under the same terms as Perl itself.