末尾再帰の最適化オプション

 -foptimize-sibling-calls


再帰を使用する場合には、スタックを食いつぶさないために
上記オプションを使用すること。


Schemeを少しかじったせいで、リスト処理何かはcar、cdrとか再帰を使いまくり。
なれたら再帰の方が楽な場合って結構ある。
ちょっと考えたら、Rubyではほとんど使っていない。