Documentation is still a weak point though a number of things were significantly improved in 2012. Most notably the new doc.perl6.org project has established the right architecture for a Perl 6 equivalent of Perl 5's perldoc.
At least four big parts of the diagnostic feedback problem have been addressed in the last couple years:
- The level of completion and stability of Rakudo. If there's an error, it's a lot more likely that the error is in the user's code not the compiler.
- Error messages. Rakudo has finally caught up with Larry Wall's canonical STD parser. There's color coding, accurate pinpointing of where an error is, uncannily clever suggestions about what you meant to do, and so on. (Niecza was based on STD from the start.)
- #perl6. The best way to learn Perl 6 is to get on the #perl6 freenode IRC channel and combine use of the on channel evalbots with questions. In watching #perl6 for the last year and a half I've seen a lot of newbies come ask questions and they invariably encounter patience and friendliness. Another great source for figuring Perl 6 out is to read the #perl6 log archive.
- Rakudo source code debugger. A nice UI, debugging of regexes/grammars, debugging of exceptions, the works. And eminently hackable, too!
| [reply] [Watch: Dir/Any] |
| [reply] [Watch: Dir/Any] [d/l] |
{
my $x = 42;
say MY::.keys;
say MY::{ '$x' };
}
Produces
$x $_ call_sig $*DISPATCHER
42
call_sig and $*DISPATCHER are used internally, and better not touched :-)
I've tested in on rakudo/HEAD, but should work fine in 2012.12 too, nothing significant changed in that code path since December.
| [reply] [Watch: Dir/Any] [d/l] [select] |
Slowness has been the major factor stopping me for getting into Perl 6 also.
| [reply] [Watch: Dir/Any] |