|
Unlambda(アンラムダ)はコンビネータ論理とラムダ計算に基づく、仕様の小さな、ほぼ純粋な関数型言語のプログラミング言語である〔Friday Pathological Programming: Unlambda, or Programming Without Variables – Good Math, Bad Math 〕。デビッド・マドレ()によって設計された。 ==概要== この言語はコンビネータ論理とラムダ計算にもとづいている。この言語は主に2つの組込関数(「s」と「k」)および、関数適用演算子(「`」と書かれる)によって成り立っている。これらだけによってチューリング完全をなしているが、ユーザーとのインタラクションを可能にする入出力関数群と、いくつかのショートカット関数群、そして、遅延評価のための関数も備えている。この言語には変数は存在しない。 言語の目的は実用ではなく純粋関数型言語の実証にあるため、この言語は難解なプログラミング言語になっている。実用的な普通の言語にあるような演算子やデータ型が存在しないというのがこの言語の大きな特徴である。この言語に唯一存在するデータは1引数の関数だけである。それにもかかわらず、あらゆるデータはラムダ計算による関数を用いて表現することができる。複数の引数の関数もカリー化の手法によって表現することができる。 言語は抽象削除の原理(あるいは、関数を含むあらゆる変数の削除の原理)で動作する。純関数型言語であるため、言語の関数は一階のオブジェクトである。また、この言語にとって関数とは唯一のオブジェクトでもある。 処理系の実装は色々なプログラミング言語で行われている。ML系の言語では100行程度で実装されている。 抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「Unlambda」の詳細全文を読む スポンサード リンク
|