ラムダ計算とプログラミング言語とは? わかりやすく解説

Weblio 辞書 > 辞書・百科事典 > ウィキペディア小見出し辞書 > ラムダ計算とプログラミング言語の意味・解説 

ラムダ計算とプログラミング言語

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/04/12 16:37 UTC 版)

ラムダ計算」の記事における「ラムダ計算とプログラミング言語」の解説

ピーター・ランディン(英語版)は1965年発表したA Correspondence between ALGOL 60 and Church's Lambda-notationにおいて、ラムダ計算手続的な抽象化手続き(サブプログラム)の適用のしくみを提供しているがために、多くプログラミング言語ラムダ計算にその基礎置いているとみることができるとしている。 ラムダ計算コンピュータ上に実装するには、関数第一級オブジェクトとして取り扱う必要があり、これはスタック・ベースのプログラミング言語において問題となってくる。これはFunarg問題英語版)として知られている。 ラムダ計算と最も密接な関係をもつプログラミング言語関数型言語呼ばれる諸言語で、本質的にはいくつかの定数データ型用いてラムダ計算実装している。Lispでは関数の定義ラムダ記法の一変形を用いており、さらに、純Lisp呼ばれるLispサブセットラムダ計算真に等価になっている関数第一級オブジェクトとして扱えるのは関数型言語だけというわけではない。Pascalなど、多くの命令型言語ではある関数を他の関数の引数として与え操作許されている。CやC++では関数を指すポインタクラス型関数オブジェクト用いて同じことが実現できるこのような機能サブ関数明示的に書かれている場合にのみ用いることができ、したがってこの機能そのまま高階関数サポートしていることにはならないいくつかの手続的なオブジェクト指向言語では関数任意の階数書くことができる。Smalltalkや、より最近言語ではEiffelエージェント)やC#デリゲート)などで用意されている機能がそれである。例えば、Eiffelのインライン・エージェントの機能用いた以下のコード agent (x: REAL): REAL do Result := x * x endラムダ式 λx. x * x (値呼び出し)に相当するオブジェクト表している。このオブジェクトは他のあらゆるオブジェクト同様に変数代入したり関数渡したりすることができる。変数 square の値が上のエージェントオブジェクトであるとすればsquare に値 a を適用した結果(β-簡約)は square.item([a]) と書ける。ただしここでの引数タプルであるとみなされる

※この「ラムダ計算とプログラミング言語」の解説は、「ラムダ計算」の解説の一部です。
「ラムダ計算とプログラミング言語」を含む「ラムダ計算」の記事については、「ラムダ計算」の概要を参照ください。

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



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

辞書ショートカット

すべての辞書の索引

「ラムダ計算とプログラミング言語」の関連用語

ラムダ計算とプログラミング言語のお隣キーワード
検索ランキング

   

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



ラムダ計算とプログラミング言語のページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

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

©2025 GRAS Group, Inc.RSS