末尾再帰

読み方、または別称:まつびさいき

末尾再帰(まつびさいき)とは、プログラミングに用いられる方法論のひとつである。プログラム内における最終ステップが、いわゆる再帰的な呼び出しになっているタイプのことである。一般には、末尾の呼び出しと言い、特徴として呼び出しジャンプに最適化できる。LISPなどの関数型言語に典型的に出現している。

C言語に代表されるような手続き型言語では、一般的に末尾最適化は難しいとされている。しかし、自己再帰を注意して書くことで、最適化によりループできるコンパイラもある。

先述のようなC言語に代表される手続き型言語においては、呼び出しの動作を反復すると、その都度中断された手続きを保存する必要がある。その結果、再帰が深くなりすぎてしまうことによって資源不足が発生し、そのままプログラムが停止してしまうというスタックオーバーフローになる。この場合は、回避することもできる。

手続き型言語に見られる「副作用」は、関数型言語では発生しない。よって、末尾呼び出しによるプログラミングも自然に行うことができる。

ページトップへ戻る

話題の用語~今ホットな用語をご紹介

ITと社会用語辞典

ワークロード

ワークロードとは、システムのパフォーマンスを適正な状態に保つための指標のこと。

インターネット用語辞典

ライフログ

ライフログとは、人間の活動の記録(行動履歴)をデジタルデータとして記録すること、およびその記録のことである。

ページトップへ戻る