NAME

Perl6::Pugs - Perl6 User's Golfing System

VERSION

This document describes version 6.0.3 of Pugs, released February 12, 2005.

SYNOPSIS

% pugs -e 'sub hi { "Hello, " ~ $_ } ; hi "World!\n"'
Hello, World!

DESCRIPTION

Started at 2005-02-01, Pugs is an attempt at writing a Perl6 interpreter in Haskell. Currently it is in its very early stages.

Although Pugs does not yet directly relate to PGE or Parrot, the hope is that it can flesh out corner cases in the Synopses during implementation, as well as contributing more test cases to the main Perl6 project.

Featherweight Perl6

Featherweight Perl6 (FP6) is a simplified, side-effect-free subset of the Perl6 language, inspired by Featherweight Java. It is the first-step target language of Pugs.

Notable features in Perl6 that are not in FP6:

  • Assignments and mutable variables.

  • Grammar, Rules and Macros.

  • Unboxed types.

  • Run-time applications of "but" and "does".

  • I/O primitives.

  • Perl5 Compatibility Mode.

  • Non-ascii symbols: «, » and ¥.

The only ways to do I/O in FP6 are:

  • @*ARGS, $*PID, $*PROGRAM_NAME, etc.

  • <> (lazily-evaluated lines of input).

  • The toplevel evaluation result is printed under flattened list context with items stringified.

Release Plans

The major/minor version numbers of Pugs converges to 2*pi; each significant digit in the minor version represents a milestone. The third digit is incremented for each release.

The current milestones are:

6.0: Initial release.
6.2: Implement FP6, without user-defined subtypes.
6.28: Full FP6, with classes and traits.
6.283: Assignment and I/O primitives.
6.2831: Role composition and other runtime features.
6.28318: Rules and Grammars.
6.283185: Macros; full Perl6 bootstrapping.

SEE ALSO

The mailing list for Pugs is perl6-compiler. Subscribe by sending mail to <perl6-compiler-subscribe@perl.org>. It is archived at http://www.nntp.perl.org/group/perl.perl6.compiler and available via NNTP at nntp://nntp.perl.org/perl.perl6.compiler.

You can also read the list via Google Groups at http://groups-beta.google.com/group/perl.perl6.compiler

Please submit bug reports to <bug-perl6-pugs@rt.cpan.org>.

COPYRIGHT

Copyright 2005 by Autrijus Tang <autrijus@autrijus.org>.

This program is free software; you can redistribute it and/or modify it under the same terms as Pugs itself.