Where Raku++ excels

Places where Raku++ accepts and runs code the reference implementation does not — constructs Rakudo rejects at compile time or leaves unimplemented. Every example below runs live in your browser.

Variables & sigils

Shaped arrays @a[i;j]

Indexing a shaped array with fewer subscripts than it has dimensions takes a partial view — here, a whole row. Raku++ returns it. Rakudo compiles the same code but throws at runtime ("Partially dimensioned views of shaped arrays not yet implemented. Sorry."), so this is a Raku++ extension.

my @a[2;3] = (1,2,3),(4,5,6);
say @a[1];      # Raku++: [4 5 6]   ·   Rakudo: not yet implemented

The official suite tests exactly this and Rakudo fudges it out — in S09-multidim/indexing.t:

#?rakudo todo "partially dimensioned NYI"
lives-ok { @arr[*;0] }, 'Partially dimensioned view lives';

The #?rakudo todo directive marks a test Rakudo itself cannot yet pass. Raku++ runs it — @arr[*;0] returns the column view.

Regexes & grammars

Conjunction & capture aliases

The @<name>=(…) array alias has a hash-valued sibling, %<name>=(…), which collects each matched substring as a key (reached through $<name>). Rakudo reserves %-sigil variables in regex syntax and rejects the construct at compile time ("The use of hash variables in regexes is reserved"), so this one is Raku++-only.

if "a1b2c3" ~~ / [ %<seen>=(<:L>) \d ]+ / {
    say $<seen>.keys.sort;   # Raku++: (a b c)   ·   Rakudo: won't compile
}

The official suite has a whole 116-test file for hash aliases — S05-capture/hash.t (spec reference L<S05/Hash aliasing>):

ok("  a b\tc" ~~ m/%<chars>=( \s+ \S+ )/, 'Named unrepeated hash capture');
ok($/<chars>{'  a'}:exists, 'One key captured');

Current Rakudo no longer compiles the %<…>=(…) syntax ("The use of hash variables in regexes is reserved"), so it cannot run that file at all. Raku++ does.