rakuguide icon indicating copy to clipboard operation
rakuguide copied to clipboard

Please add a recursion example to the functional programming section

Open gitjeff2 opened this issue 3 years ago • 0 comments

I notice the Raku Guide has a section on functional programming but makes no mention of recursion. In functional programming recursion is favored over loops. So, this strikes me as a significant omission to the section.

Andrew Shitov's has a blog post Computing Factorials Using Raku that gives an excellent and highly readable recursion example in Raku. You might want to use a similar example. From his post:

unit sub MAIN($n);

sub factorial($n) {
    return 1 if $n < 2;
    return $n * factorial($n - 1);
}

say factorial($n);

As you can see the code uses a postfix if on a return statement. It's a very readable and idiomatic way to create a recursive function. It's also worth mentioning that, according to the official Raku documentation, if can be used this way but attempting to do the same thing with else or elsif results in a syntax error. This is also probably worth mentioning.

gitjeff2 avatar Apr 09 '21 11:04 gitjeff2