Hello.

I think the tail call is optimized in the following Perl 5 code.
How can I do the same in Perl 6?
--
#!/usr/bin/env perl

v5;

use strict;
use warnings;

local $\ = "\n";

sub reduce_sum($$)
{
        my ($sum, $range) = @_;
        return $$sum unless @$range;
        my $lhs = shift @$range;
        $$sum += $lhs;
        goto &reduce_sum;
}

my @range = 0 .. 10;
my $sum = 0;

print reduce_sum \$sum, \@range;
--

Thanks.
--
Hiroki Horiuchi from Japan

Reply via email to