On Tue Apr 13 06:18:16 2010, masak wrote:
> <masak> std: subset Quad of Any; sub classify($_) { when Quad {}; when
> Quad {} }
> <p6eval> std 30383: OUTPUT«ok 00:01 110m␤»
> <masak> rakudo: subset Quad of Any; sub classify($_) { when Quad {};
> when Quad {} }; say 'alive'
> <p6eval> rakudo cb4521: OUTPUT«Unable to parse blockoid, couldn't find
> final '}' [...]
> <masak> rakudo: subset B of Any; sub classify($_) { when B {}; when B
> {} }; say 'alive'
> <p6eval> rakudo cb4521: OUTPUT«alive␤»
> * masak confused
> * masak submits rakudobug
> 
> I, um... what?

This seems to happen with the usage of anything that starts with Q or q.
The declaration parses fine, it's when we try to use it that Rakudo gets
confused. 

<sundar> rakudo: class Mill {}; my $a = Mill.new();
<p6eval> rakudo 3b5a79:  ( no output )
<sundar> rakudo: class Quill {}; my $a = Quill.new();
<p6eval> rakudo 3b5a79: OUTPUT«Confused at line 11, near "my $a =
Qu"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500
(ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»

<sundar> rakudo: sub mill {say "OH HAI"}; mill;
<p6eval> rakudo 3b5a79: OUTPUT«OH HAI␤»
<sundar> rakudo: sub quill {say "OH HAI"}; quill;
<p6eval> rakudo 3b5a79: OUTPUT«Confused at line 11, near
"quill;"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500
(ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»

Curiously, the sub works if we call it with parenthesis. 

<sundar> rakudo: sub quill {say "OH HAI"}; quill();
<p6eval> rakudo 3b5a79: OUTPUT«OH HAI␤»


Reply via email to