7.1. 再帰さん、こんにちは!¶ 手続き型プログラミング言語やオブジェクト指向プログラミング言語に慣れている読者の方々には、なぜまだループが出てきてないのか疑問に思っているかもしれません。 答えは「ループってなんすか?」ですよ。実のところを言うと、関数型プログラミング言語では通常 for や while のようなループ制御を提供しません。 その代わりに、関数型プログラマは再帰と呼ばれるバカな概念に寄っかかっているのです。 導入の章で、変更できない変数がどのように説明されていたか覚えていると思います。 覚えていないなら、もっと注意深く読んでください! 再帰は数学の概念と関数を使っても説明できます。階乗のような基本的な数学的関数が再帰で表現できる良い例です。 nの階乗は1からnまでの数列の積で 1 x 2 x 3 x ... x n で表せます。あるいは n x n-1 x n-2 x ..