Skip to content
Latchkey

テールコールとは何か?

テールコールは関数のまさに最後の操作として発生する呼び出しであり、それがリターンした後には、その結果を返すこと以外に行うべきことが残っていません。呼び出し元のフレームはもはや不要なため、実装は新しいフレームをプッシュする代わりに、それを呼び出し先のために再利用できます。これがtail call optimizationを可能にする性質です。

なぜ重要か

テールコールを認識することで、コンパイラはスタックをあふれさせる再帰をループのような反復へと変えられます。これは関数型のスタイルで深い再帰アルゴリズムを安全に書くための基礎です。

関連ガイド