K関数型プログラム言語のひとつです。組み込み関数が3つしかないとてもシンプルな構造をもつ言語です。これだけでプログラムを組むことは、ちょっと非現実的で、Scheme言語(LISPの一種)から変換された形のものを実行します。この話になった経緯ですが、最近関数型言語Clojure(Lispの一種)の必要性を感じ勉強していたところ、もう少しさかのぼってLispを勉強しようと思い、Scheme周辺の情報収集をしているときに見つけました。これだけの記号でプログラムを表現できる(関数表現)のが面白く、実際に動かしてみたくなりました。Lisp言語はとても古い言語なので、長くプログラマをやられている方なら、一度は興味を持たれたことがあると思います。私が興味をもったのは、随分前にMacでLispを使ったアルゴリズムコンポジションを知ったときでした。音楽データもリスト表現できるので、Lispには相性がいいのでしょう、結構ネットでも資料が見つかります。Musicなど)そのうち関数型言語が話題になり(Haskell)、またLispが脚光を浴びるとまた勉強したりしましたが、一時興味をもっても使わないとすぐに忘れてしまい、なかなかこの言語が身に付くことはありませんでした。書籍はかなりたまりましたが^^;そして、今回Clojureです。CPUのマルチコア化に伴い、このような言語レベルで並列性が実現できる関数型言語がさらに必要とされてきた上、JVMで走るということで、急速に(私のまわりだけかもしれませんが)注目を集めています。勉強していませんが、結構実用的に感じます。Kを実際に動かしてみました。‘(x))に変更すると、Iなんと一文字だけ出力します。(もっとも短いプログラム)これは、標準入力をそのまま標準出力にエコーします。上記リンクには、もっと長いサンプルコードがありますが、S,I,K,(,)しか使っていません。今回、標準入力を出力しているのでいいですが、文字列とか表現しようと思うと大変そうです。これだけシンプルなので、数字すら定義されていません。prelude.scmをみると、数字を関数表現しているのが面白いです。Reply返信をキャンセルする。