関数型言語のコンパイル
出典: フリー百科事典『ウィキペディア(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)
※この「関数型言語のコンパイル」の解説は、「コンビネータ論理」の解説の一部です。
「関数型言語のコンパイル」を含む「コンビネータ論理」の記事については、「コンビネータ論理」の概要を参照ください。
- 関数型言語のコンパイルのページへのリンク