関数型言語と末尾再帰とは? わかりやすく解説

Weblio 辞書 > 辞書・百科事典 > ウィキペディア小見出し辞書 > 関数型言語と末尾再帰の意味・解説 

関数型言語と末尾再帰

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/07/13 14:08 UTC 版)

末尾再帰」の記事における「関数型言語と末尾再帰」の解説

関数型言語では、自身戻り値別の関数戻り値を使うという末尾呼び出しによるプログラミングは自然なスタイルである。特にSchemeは、後述最適化を施すべきパターン形式的に定め最適化を行うよう仕様定めている。 また、関数型言語処理系には、プログラム全体継続渡しスタイル変換し全ての呼び出し末尾呼び出し変換する手法もある。 置き換えモデル基準考えれば、ある手続き返す値はその中で最後に呼び出した手続き結果等しくそれ以外部分過程分岐または副作用をもつ場合のみ意味を持つ。従って上記関数的な観点では手続き末尾だけを考慮すればよく、ここで再帰が行われる場合末尾再帰という。 Common Lisp での末尾再帰の例: (defun factorial (n &optional (acc 1)) (if (<= n 1) acc (factorial (- n 1) (* acc n)))) F#での末尾再帰の例: // 非末尾再帰let rec fact n = if n = 0 then 1 else fact (n - 1) * n// 末尾再帰let fact n = let rec ifact n r = if n = 0 then r else ifact (n - 1) (n * r) ifact n 1 末尾行では定義と同型の式が現れている。

※この「関数型言語と末尾再帰」の解説は、「末尾再帰」の解説の一部です。
「関数型言語と末尾再帰」を含む「末尾再帰」の記事については、「末尾再帰」の概要を参照ください。

ウィキペディア小見出し辞書の「関数型言語と末尾再帰」の項目はプログラムで機械的に意味や本文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。 お問い合わせ



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「関数型言語と末尾再帰」の関連用語

1
30% |||||

関数型言語と末尾再帰のお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



関数型言語と末尾再帰のページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
Text is available under GNU Free Documentation License (GFDL).
Weblio辞書に掲載されている「ウィキペディア小見出し辞書」の記事は、Wikipediaの末尾再帰 (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。

©2025 GRAS Group, Inc.RSS