Oof. I'm wondering why is it a .sorry and not .panic. Panic will blow up immediately with a good error message, but I think there's some reason for it to be a sorry. I can't figure out what it is exactly. Maybe something about subs called “if”? I tried various ways to trigger it erroneously but couldn't come up with anything useful.
In any case, you may be wondering why it prints it 4 times. Here are backtraces of all four sorry-s: ############ 1 debug at SETTING::src/core/Exception.pm:57 (./CORE.setting.moarvm:throw) from src/Perl6/World.nqp:4660 (blib/Perl6/World.moarvm:throw) from src/Perl6/Grammar.nqp:272 (blib/Perl6/Grammar.moarvm:typed_panic) from src/Perl6/Grammar.nqp:262 (blib/Perl6/Grammar.moarvm:panic) from src/Perl6/Grammar.nqp:607 (blib/Perl6/Grammar.moarvm:kok) from <unknown>:1 (blib/Perl6/Grammar.moarvm:terminator:sym<while>) from gen/moar/stage2/QRegex.nqp:1721 (/home/alex/git/rakudo/install/share/nqp/lib/QRegex.moarvm:!protoregex) from <unknown>:1 (blib/Perl6/Grammar.moarvm:terminator) from <unknown>:1 (blib/Perl6/Grammar.moarvm:stdstopper) from src/Perl6/Grammar.nqp:3996 (blib/Perl6/Grammar.moarvm:infixish) from gen/moar/stage2/NQPHLL.nqp:939 (/home/alex/git/rakudo/install/share/nqp/lib/NQPHLL.moarvm:EXPR) from src/Perl6/Grammar.nqp:3981 (blib/Perl6/Grammar.moarvm:EXPR) from <unknown>:1 (blib/Perl6/Grammar.moarvm:arglist) from src/Perl6/Grammar.nqp:3478 (blib/Perl6/Grammar.moarvm:args) from src/Perl6/Grammar.nqp:3425 (blib/Perl6/Grammar.moarvm:term:sym<name>) from gen/moar/stage2/QRegex.nqp:1721 (/home/alex/git/rakudo/install/share/nqp/lib/QRegex.moarvm:!protoregex) from <unknown>:1 (blib/Perl6/Grammar.moarvm:term) from src/Perl6/Grammar.nqp:3941 (blib/Perl6/Grammar.moarvm:termish) from gen/moar/stage2/NQPHLL.nqp:875 (/home/alex/git/rakudo/install/share/nqp/lib/NQPHLL.moarvm:EXPR) from src/Perl6/Grammar.nqp:3981 (blib/Perl6/Grammar.moarvm:EXPR) from src/Perl6/Grammar.nqp:1306 (blib/Perl6/Grammar.moarvm:statement) from src/Perl6/Grammar.nqp:1238 (blib/Perl6/Grammar.moarvm:statementlist) from gen/moar/stage2/NQPHLL.nqp:1105 (/home/alex/git/rakudo/install/share/nqp/lib/NQPHLL.moarvm:LANG) from src/Perl6/Grammar.nqp:1677 (blib/Perl6/Grammar.moarvm:FOREIGN_LANG) from src/Perl6/Grammar.nqp:1202 (blib/Perl6/Grammar.moarvm:comp_unit) from src/Perl6/Grammar.nqp:508 (blib/Perl6/Grammar.moarvm:TOP) from gen/moar/stage2/QRegex.nqp:2330 (/home/alex/git/rakudo/install/share/nqp/lib/QRegex.moarvm:parse) from gen/moar/stage2/NQPHLL.nqp:1864 (/home/alex/git/rakudo/install/share/nqp/lib/NQPHLL.moarvm:parse) from gen/moar/stage2/NQPHLL.nqp:1780 (/home/alex/git/rakudo/install/share/nqp/lib/NQPHLL.moarvm:execute_stage) from gen/moar/stage2/NQPHLL.nqp:1813 (/home/alex/git/rakudo/install/share/nqp/lib/NQPHLL.moarvm:run) from gen/moar/stage2/NQPHLL.nqp:1816 (/home/alex/git/rakudo/install/share/nqp/lib/NQPHLL.moarvm:) from gen/moar/stage2/NQPHLL.nqp:1802 (/home/alex/git/rakudo/install/share/nqp/lib/NQPHLL.moarvm:compile) from gen/moar/stage2/NQPHLL.nqp:1511 (/home/alex/git/rakudo/install/share/nqp/lib/NQPHLL.moarvm:eval) from gen/moar/stage2/NQPHLL.nqp:1636 (/home/alex/git/rakudo/install/share/nqp/lib/NQPHLL.moarvm:) from gen/moar/stage2/NQPHLL.nqp:1682 (/home/alex/git/rakudo/install/share/nqp/lib/NQPHLL.moarvm:command_eval) from src/Perl6/Compiler.nqp:42 (blib/Perl6/Compiler.moarvm:command_eval) from gen/moar/stage2/NQPHLL.nqp:1617 (/home/alex/git/rakudo/install/share/nqp/lib/NQPHLL.moarvm:command_line) from gen/moar/main.nqp:47 (/home/alex/git/rakudo/perl6.moarvm:MAIN) from gen/moar/main.nqp:38 (/home/alex/git/rakudo/perl6.moarvm:<mainline>) from <unknown>:1 (/home/alex/git/rakudo/perl6.moarvm:<main>) from <unknown>:1 (/home/alex/git/rakudo/perl6.moarvm:<entry>) ############ 2 debug at SETTING::src/core/Exception.pm:57 (./CORE.setting.moarvm:throw) from src/Perl6/World.nqp:4660 (blib/Perl6/World.moarvm:throw) from src/Perl6/Grammar.nqp:272 (blib/Perl6/Grammar.moarvm:typed_panic) from src/Perl6/Grammar.nqp:262 (blib/Perl6/Grammar.moarvm:panic) from src/Perl6/Grammar.nqp:607 (blib/Perl6/Grammar.moarvm:kok) from <unknown>:1 (blib/Perl6/Grammar.moarvm:terminator:sym<while>) from gen/moar/stage2/QRegex.nqp:1721 (/home/alex/git/rakudo/install/share/nqp/lib/QRegex.moarvm:!protoregex) from <unknown>:1 (blib/Perl6/Grammar.moarvm:terminator) from <unknown>:1 (blib/Perl6/Grammar.moarvm:stdstopper) from src/Perl6/Grammar.nqp:4042 (blib/Perl6/Grammar.moarvm:postfixish) from src/Perl6/Grammar.nqp:3955 (blib/Perl6/Grammar.moarvm:termish) from gen/moar/stage2/NQPHLL.nqp:875 (/home/alex/git/rakudo/install/share/nqp/lib/NQPHLL.moarvm:EXPR) from src/Perl6/Grammar.nqp:3981 (blib/Perl6/Grammar.moarvm:EXPR) from src/Perl6/Grammar.nqp:1306 (blib/Perl6/Grammar.moarvm:statement) from src/Perl6/Grammar.nqp:1238 (blib/Perl6/Grammar.moarvm:statementlist) from gen/moar/stage2/NQPHLL.nqp:1105 (/home/alex/git/rakudo/install/share/nqp/lib/NQPHLL.moarvm:LANG) from src/Perl6/Grammar.nqp:1677 (blib/Perl6/Grammar.moarvm:FOREIGN_LANG) from src/Perl6/Grammar.nqp:1202 (blib/Perl6/Grammar.moarvm:comp_unit) from src/Perl6/Grammar.nqp:508 (blib/Perl6/Grammar.moarvm:TOP) from gen/moar/stage2/QRegex.nqp:2330 (/home/alex/git/rakudo/install/share/nqp/lib/QRegex.moarvm:parse) from gen/moar/stage2/NQPHLL.nqp:1864 (/home/alex/git/rakudo/install/share/nqp/lib/NQPHLL.moarvm:parse) from gen/moar/stage2/NQPHLL.nqp:1780 (/home/alex/git/rakudo/install/share/nqp/lib/NQPHLL.moarvm:execute_stage) from gen/moar/stage2/NQPHLL.nqp:1813 (/home/alex/git/rakudo/install/share/nqp/lib/NQPHLL.moarvm:run) from gen/moar/stage2/NQPHLL.nqp:1816 (/home/alex/git/rakudo/install/share/nqp/lib/NQPHLL.moarvm:) from gen/moar/stage2/NQPHLL.nqp:1802 (/home/alex/git/rakudo/install/share/nqp/lib/NQPHLL.moarvm:compile) from gen/moar/stage2/NQPHLL.nqp:1511 (/home/alex/git/rakudo/install/share/nqp/lib/NQPHLL.moarvm:eval) from gen/moar/stage2/NQPHLL.nqp:1636 (/home/alex/git/rakudo/install/share/nqp/lib/NQPHLL.moarvm:) from gen/moar/stage2/NQPHLL.nqp:1682 (/home/alex/git/rakudo/install/share/nqp/lib/NQPHLL.moarvm:command_eval) from src/Perl6/Compiler.nqp:42 (blib/Perl6/Compiler.moarvm:command_eval) from gen/moar/stage2/NQPHLL.nqp:1617 (/home/alex/git/rakudo/install/share/nqp/lib/NQPHLL.moarvm:command_line) from gen/moar/main.nqp:47 (/home/alex/git/rakudo/perl6.moarvm:MAIN) from gen/moar/main.nqp:38 (/home/alex/git/rakudo/perl6.moarvm:<mainline>) from <unknown>:1 (/home/alex/git/rakudo/perl6.moarvm:<main>) from <unknown>:1 (/home/alex/git/rakudo/perl6.moarvm:<entry>) ############ 3 debug at SETTING::src/core/Exception.pm:57 (./CORE.setting.moarvm:throw) from src/Perl6/World.nqp:4660 (blib/Perl6/World.moarvm:throw) from src/Perl6/Grammar.nqp:272 (blib/Perl6/Grammar.moarvm:typed_panic) from src/Perl6/Grammar.nqp:262 (blib/Perl6/Grammar.moarvm:panic) from src/Perl6/Grammar.nqp:607 (blib/Perl6/Grammar.moarvm:kok) from <unknown>:1 (blib/Perl6/Grammar.moarvm:terminator:sym<while>) from gen/moar/stage2/QRegex.nqp:1721 (/home/alex/git/rakudo/install/share/nqp/lib/QRegex.moarvm:!protoregex) from <unknown>:1 (blib/Perl6/Grammar.moarvm:terminator) from <unknown>:1 (blib/Perl6/Grammar.moarvm:stdstopper) from src/Perl6/Grammar.nqp:3996 (blib/Perl6/Grammar.moarvm:infixish) from gen/moar/stage2/NQPHLL.nqp:939 (/home/alex/git/rakudo/install/share/nqp/lib/NQPHLL.moarvm:EXPR) from src/Perl6/Grammar.nqp:3981 (blib/Perl6/Grammar.moarvm:EXPR) from src/Perl6/Grammar.nqp:1306 (blib/Perl6/Grammar.moarvm:statement) from src/Perl6/Grammar.nqp:1238 (blib/Perl6/Grammar.moarvm:statementlist) from gen/moar/stage2/NQPHLL.nqp:1105 (/home/alex/git/rakudo/install/share/nqp/lib/NQPHLL.moarvm:LANG) from src/Perl6/Grammar.nqp:1677 (blib/Perl6/Grammar.moarvm:FOREIGN_LANG) from src/Perl6/Grammar.nqp:1202 (blib/Perl6/Grammar.moarvm:comp_unit) from src/Perl6/Grammar.nqp:508 (blib/Perl6/Grammar.moarvm:TOP) from gen/moar/stage2/QRegex.nqp:2330 (/home/alex/git/rakudo/install/share/nqp/lib/QRegex.moarvm:parse) from gen/moar/stage2/NQPHLL.nqp:1864 (/home/alex/git/rakudo/install/share/nqp/lib/NQPHLL.moarvm:parse) from gen/moar/stage2/NQPHLL.nqp:1780 (/home/alex/git/rakudo/install/share/nqp/lib/NQPHLL.moarvm:execute_stage) from gen/moar/stage2/NQPHLL.nqp:1813 (/home/alex/git/rakudo/install/share/nqp/lib/NQPHLL.moarvm:run) from gen/moar/stage2/NQPHLL.nqp:1816 (/home/alex/git/rakudo/install/share/nqp/lib/NQPHLL.moarvm:) from gen/moar/stage2/NQPHLL.nqp:1802 (/home/alex/git/rakudo/install/share/nqp/lib/NQPHLL.moarvm:compile) from gen/moar/stage2/NQPHLL.nqp:1511 (/home/alex/git/rakudo/install/share/nqp/lib/NQPHLL.moarvm:eval) from gen/moar/stage2/NQPHLL.nqp:1636 (/home/alex/git/rakudo/install/share/nqp/lib/NQPHLL.moarvm:) from gen/moar/stage2/NQPHLL.nqp:1682 (/home/alex/git/rakudo/install/share/nqp/lib/NQPHLL.moarvm:command_eval) from src/Perl6/Compiler.nqp:42 (blib/Perl6/Compiler.moarvm:command_eval) from gen/moar/stage2/NQPHLL.nqp:1617 (/home/alex/git/rakudo/install/share/nqp/lib/NQPHLL.moarvm:command_line) from gen/moar/main.nqp:47 (/home/alex/git/rakudo/perl6.moarvm:MAIN) from gen/moar/main.nqp:38 (/home/alex/git/rakudo/perl6.moarvm:<mainline>) from <unknown>:1 (/home/alex/git/rakudo/perl6.moarvm:<main>) from <unknown>:1 (/home/alex/git/rakudo/perl6.moarvm:<entry>) ############ 4 debug at SETTING::src/core/Exception.pm:57 (./CORE.setting.moarvm:throw) from src/Perl6/World.nqp:4660 (blib/Perl6/World.moarvm:throw) from src/Perl6/Grammar.nqp:272 (blib/Perl6/Grammar.moarvm:typed_panic) from src/Perl6/Grammar.nqp:262 (blib/Perl6/Grammar.moarvm:panic) from src/Perl6/Grammar.nqp:607 (blib/Perl6/Grammar.moarvm:kok) from <unknown>:1 (blib/Perl6/Grammar.moarvm:statement_mod_loop:sym<while>) from gen/moar/stage2/QRegex.nqp:1721 (/home/alex/git/rakudo/install/share/nqp/lib/QRegex.moarvm:!protoregex) from <unknown>:1 (blib/Perl6/Grammar.moarvm:statement_mod_loop) from src/Perl6/Grammar.nqp:1308 (blib/Perl6/Grammar.moarvm:statement) from src/Perl6/Grammar.nqp:1238 (blib/Perl6/Grammar.moarvm:statementlist) from gen/moar/stage2/NQPHLL.nqp:1105 (/home/alex/git/rakudo/install/share/nqp/lib/NQPHLL.moarvm:LANG) from src/Perl6/Grammar.nqp:1677 (blib/Perl6/Grammar.moarvm:FOREIGN_LANG) from src/Perl6/Grammar.nqp:1202 (blib/Perl6/Grammar.moarvm:comp_unit) from src/Perl6/Grammar.nqp:508 (blib/Perl6/Grammar.moarvm:TOP) from gen/moar/stage2/QRegex.nqp:2330 (/home/alex/git/rakudo/install/share/nqp/lib/QRegex.moarvm:parse) from gen/moar/stage2/NQPHLL.nqp:1864 (/home/alex/git/rakudo/install/share/nqp/lib/NQPHLL.moarvm:parse) from gen/moar/stage2/NQPHLL.nqp:1780 (/home/alex/git/rakudo/install/share/nqp/lib/NQPHLL.moarvm:execute_stage) from gen/moar/stage2/NQPHLL.nqp:1813 (/home/alex/git/rakudo/install/share/nqp/lib/NQPHLL.moarvm:run) from gen/moar/stage2/NQPHLL.nqp:1816 (/home/alex/git/rakudo/install/share/nqp/lib/NQPHLL.moarvm:) from gen/moar/stage2/NQPHLL.nqp:1802 (/home/alex/git/rakudo/install/share/nqp/lib/NQPHLL.moarvm:compile) from gen/moar/stage2/NQPHLL.nqp:1511 (/home/alex/git/rakudo/install/share/nqp/lib/NQPHLL.moarvm:eval) from gen/moar/stage2/NQPHLL.nqp:1636 (/home/alex/git/rakudo/install/share/nqp/lib/NQPHLL.moarvm:) from gen/moar/stage2/NQPHLL.nqp:1682 (/home/alex/git/rakudo/install/share/nqp/lib/NQPHLL.moarvm:command_eval) from src/Perl6/Compiler.nqp:42 (blib/Perl6/Compiler.moarvm:command_eval) from gen/moar/stage2/NQPHLL.nqp:1617 (/home/alex/git/rakudo/install/share/nqp/lib/NQPHLL.moarvm:command_line) from gen/moar/main.nqp:47 (/home/alex/git/rakudo/perl6.moarvm:MAIN) from gen/moar/main.nqp:38 (/home/alex/git/rakudo/perl6.moarvm:<mainline>) from <unknown>:1 (/home/alex/git/rakudo/perl6.moarvm:<main>) from <unknown>:1 (/home/alex/git/rakudo/perl6.moarvm:<entry>) On 2015-07-10 17:55:51, alex.jakime...@gmail.com wrote: > Code: > say 1 if; > > Result: > ===SORRY!=== > Whitespace required after keyword 'if' > at ./test.pl:2 > ------> say 1 if⏏; > Whitespace required after keyword 'if' > at ./test.pl:2 > ------> say 1 if⏏; > Whitespace required after keyword 'if' > at ./test.pl:2 > ------> say 1 if⏏; > Whitespace required after keyword 'if' > at ./test.pl:2 > ------> say 1 if⏏; > Missing semicolon > at ./test.pl:2 > ------> say 1 if⏏; > > OR > > Code: > say 1 unless; > > Result: > ===SORRY!=== > Whitespace required after keyword 'unless' > at ./test.pl:2 > ------> say 1 unless⏏; > Whitespace required after keyword 'unless' > at ./test.pl:2 > ------> say 1 unless⏏; > Whitespace required after keyword 'unless' > at ./test.pl:2 > ------> say 1 unless⏏; > Whitespace required after keyword 'unless' > at ./test.pl:2 > ------> say 1 unless⏏; > Confused > at ./test.pl:2 > ------> say 1 unless⏏; > > Definitely there is no need to repeat that 4 four times. But it could also > print something useful. > > Notice the difference – in one case it says "confused" but in another one > it wants a semicolon (which is obviously right there).