並列論理型言語の話

関数型言語が微妙に流行っているのなら、並列論理型言語も微妙に流行ってもいいのに、と思う。並列論理型言語(というか、正確にはKL1/GHCや、FlengのようなCommitted-Choiceと呼ばれる言語属)は、「論理型」と言いながら、Prologのようなbacktrackによる探索機能を持たないので、かなり関数型言語に近い。ただ、「関数」に相当するものを1st classのオブジェクトとしては持てないので、機能的にはより単純であるが。
Fleng処理系は手に入らないだろうけれど*1、KL1(KLIC)なら今でもちゃんと使えるはず。いや試してないけど。プログラムを書けば(あまり)何も考えなくても普通に並列に動きますぜ、奥さん*2

何?、研究用途の処理系じゃ、大きなプログラムが書けないんじゃないかって?大丈夫、俺KLICでWebブラウザ書いたことがあるから(http://www.icot.or.jp/ARCHIVE/Museum/CONTEST/CEREMONY-96-J/main-J.htmlの下の方)。

第五世代コンピュータやICOTに対する(無理解による)風当たりが強いのもなんだかなぁと思うところではある。(渕先生が亡くなられた時のスラドの記事(渕一博氏、ご逝去 | スラド)も心無いものが散見されます。当時のWikipediaの第五世代にかんする記述も(今はより中立的なものに修正されているようですが))

しかし、これらの批判は無理解によるもので、(少なくとも僕の知る並列処理系の研究では)未だに色あせない高度な内容のものだと思う。いや、未だにかどうかは、最近の動向を良く知らないからなんとも言えないが。この辺(http://www.icot.or.jp/ARCHIVE/Museum/TRTM/trtm-J.html)に行けば、当時の論文も見られる。

というわけで、並列論理型言語ももっと流行ってもいいのに。Haskellが流行るんなら。:-) 書き易さ(書きにくさとも言う)はいい勝負なんじゃ無かろうか?:-)
(とは言うものの、研究されていた当時流行らなかったのはそれなりの理由があるからで(Cに比べて遅いとか、特有の書きにくさとか(書き易い場合ももちろんある))、その辺の改善がなされるまでは本当には流行らないのかも知れない。)

*1:昔公開したものがインターネット上にあるようだが、今のLinux等の環境だとまともに動かないと思う。コンパイルした述語(関数相当)をロードできるんだけど、たしかa.out形式を手で触っていたので。インタプリタとしてなら動くかな?

*2:と思って、配布元を探したら、今ちゃんとメンテされてない?(http://www.klic.org/software/klic/index.ja.htmlからダウンロードできないような?)この辺にはあるようだが:KLIC-3.003 Patch - Langphilia!