STD.pm


is the Standard Perl 6 grammar and more or less part of the specs. Its a program, written in a subset of Perl 6 and by Larry Wall, that defines how Perl 6 should be parsed. It uses the parser engine Cursor.

Unfortunately no implementation can fully parse STD.pm yet, let alone build a compiler or interpreter based on it. However, by means of the "viv" tool described next, Perl 6 source code can be parsed by a near equivalent running in Perl 5.

Anyone can try STD.pm online. Join the #perl6 channel on irc.freenode.net, then address your command to the std: nick. For example:

std: say "hello";

The output is either an awesome error message, or the status 'ok' followed by the amount of time and megabytes of memory that 'viv' took to parse the source. The actual work is done by the 'tryfile' script, also in the src/perl6 directory of the pugs repository.