#!/usr/bin/env stryke
use strict
use warnings
my %memo
sub fib {
my $n = @_ |> shift
if ($n <= 1) {
return $n
}
if (exists $memo{$n}) {
return $memo{$n}
}
$memo{$n} = (($n - 1) |> fib) + (($n - 2) |> fib)
$memo{$n}
}
for $i (0 .. 20) {
printf "fib(%2d) = %d\n", $i, $i |> fib
}