So, I was about to write the following test for Pugs: sub factorial (Int $n) { my sub factn (Int $acc, $i) { return $acc if $i > $n; factn( $acc * $i, $i+1); } factn(1, 1); }
When I thought to check the apocalypses and exegeses and, what do you know, I couldn't find any evidence that nested named functions like this were legal. So, are they legal? And yes, I know there are other ways of doing this, but I like the lack of sigils on the function when you do it this way.