再帰が関数型プログラミングに重要である3つの理由。共通の問題のサブセットに単一の抽象を使用する可変の状態を隠蔽することができる遅延評価や無限データ構造の処理を行う手段のひとつ配列の長さを調べる関数を再帰の考え方で解くと。}}再帰をうまく実装するヒントは、「値は大きな問題に内包された小さな問題によって組み立てられるものである」と認識することです。ことで、分解の最初の一歩を踏み出しやすくなります。その関数が外部に一切の影響を与えないことが静的に保証されている関数です。純粋性のルールはつぎのようになります。考え方も一般に浸透してきました。冪等である関数は次の条件を満たします。someFunc)(arg);ある引数を与えて実行するということは、その関数を2回連続で呼び出しても同じ結果を返します。ダイナミックな言語です。純粋関数のポリシーに縛られるがゆえに、関数のダイナミックさを犠牲にする必要はありません。変数は変更するたびにその変数を参照するタイミングによって異なる値が返ってきます。