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).

Reply via email to