unlambdaとは、David Madoreによって定義されたプログラミング言語で、純粋関数型言語に分類される。
unlambdaのプログラムの例は、以下のようなものである。
```s``s``sii`ki `k.*``s``s`ks ``s`k`s`ks``s``s`ks``s`k`s`kr``s`k`sikk `k``s`ksk
このプログラムを実行すると、一行ごとにフィボナッチ数列の数だけアスタリスクが出力される。
見てのとおり、プログラムのほとんどは`(バッククォート)とsとkで占められており、そのほかに少数のi、r、.*などの補助的な記号がある。 これは実はコンビネータ理論という理論に基づいたものであり、その理論によれば、最低限`とsとkさえあればチューリング完全(つまり、C言語やBrainf*ckと同様のロジック)が達成できることが証明されている。
ちなみにiは``skkの短縮表記であり、rと.*はそれぞれ標準出力に文字を出力するための関数である。後者は本来純粋関数型言語としては不要なものであるが、デバッグ用途やプログラムを実用的にするための用途(どの口が言う!)で用意されている。
急上昇ワード改
最終更新:2025/12/31(水) 10:00
最終更新:2025/12/31(水) 09:00
ウォッチリストに追加しました!
すでにウォッチリストに
入っています。
追加に失敗しました。
ほめた!
ほめるを取消しました。
ほめるに失敗しました。
ほめるの取消しに失敗しました。