Control flow #9
Raku++ 5.0.0-g312cde8e prints exactly what Rakudo 2026.08 prints
This is valid Raku: Rakudo 2026.08, the reference compiler, runs it without complaint, and the two outputs match character for character.
The program
The first lines compute $value. The last four lines are the same in every program: they print what kind of thing $value is, how it looks as code, as a string, and as true or false.
my @result;
loop (my $i = 0; $i < 10; $i++) { @result.push($i + 1) }
my $value = @result;
sub safe-str($v) {
my $s = try $v.Str;
$s.defined ?? $s !! '<undefined>'
}
say "TYPE\t" ~ $value.^name;
say "RAKU\t" ~ $value.raku;
say "STR\t" ~ safe-str($value);
say "BOOL\t" ~ $value.Bool;
Run executes the program in your browser, with the Raku++ build this site ships. Edit it and try variations.
What each compiler printed
| Rakudo 2026.08 | Raku++ 5.0.0-g312cde8e | |
|---|---|---|
| Type .^name | Array | Array |
| Code form .raku | $[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] | $[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] |
| String .Str | 1 2 3 4 5 6 7 8 9 10 | 1 2 3 4 5 6 7 8 9 10 |
| True or false .Bool | True | True |
control-v1 · seed 48 · recorded 2026-09-29 with Rakudo 2026.08 and Raku++ 5.0.0-g312cde8e · Source on GitHub ↗