コンビネータ論理 応用

コンビネータ論理

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

応用

関数型言語のコンパイル

関数型言語は、ラムダ計算がシンプルながら万能性があるため、ラムダ計算をベースとしているものが多いが、ラムダ式はコンビネータ式に変換可能であり、一種のコンパイルとも言える。David Turnerは、SASLの実装にコンビネータを利用した(SASLに限らず、一般に関数型言語の実装に応用可能である)。

Kenneth E. Iversonは、APLの後続に位置づけられるJ (プログラミング言語)で、カリーのコンビネータを基本としたプリミティブを採用し、Iversonがtacit programming(en:Tacit programming)と呼んだものを可能にした。それは、変数を含まない式で、そのようなプログラムで作業するための強力なツールに沿って行うプログラミングである。APLのような言語では、ユーザー定義の演算子を用いたclumsier mannerで暗黙のプログラミングが可能であることが判明した。(Pure Functions in APL and J)

論理学

カリー=ハワード同型対応によれば、論理式と型が対応し、直観主義論理の含意断片のヒルベルト流の推論図と型付きコンビネータ項が対応する。 コンビネータKSは以下の公理型に対応する。

AK: A → (BA),
AS: (A → (BC)) → ((AB) → (AC)),

そして、関数適用はモーダスポネンスに対応する。

MP: AAB から B を推論できる。

コンビネータ項に直和や直積の為の定数を加え、さらに基本型としてbottom 、複合型として直積型と直和型を加えたものは、ヒルベルト流の直観主義命題論理と対応する。


  1. ^ Seldin, Jonathan. The Logic of Curry and Church. 
  2. ^ John Tromp, Binary Lambda Calculus and Combinatory Logic, in Randomness And Complexity, from Leibniz To Chaitin, ed. Cristian S. Calude, World Scientific Publishing Company, October 2008. (pdf version)





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

辞書ショートカット

すべての辞書の索引

「コンビネータ論理」の関連用語

コンビネータ論理のお隣キーワード
検索ランキング

   

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



コンビネータ論理のページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのコンビネータ論理 (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。

©2024 GRAS Group, Inc.RSS