FunctionalでLogicな言語

というわけで、昨日のhoogleでcurryを調べたら久しぶりに見たCurryなんですけど、そのページにあるチュートリアルを少し読んだら、結構面白い。

Curryは、関数論理型言語。Curryの名前からわかるように、文法はHaskell。すっごく簡単に言うと、Haskellでかけるprolog

いやぁ、大学でprologさわったときは、なんかよくわからんかったけど、今あらためて論理型って面白いと思った。関係を関数として書いて、探索できる。これ面白すぎ。何が面白いと感じるのかをうまく伝えられないけど。関係を定義したら、簡単に探索ができる。一方向の関係でも、いちいち逆を探索するためのロジックを作り直さずに、言語の機能でさらっと探索できる。しかも、網羅できる。論理型言語なら、当たり前なんでしょうが、僕が今までさわったことがないパラダイムだから、相当面白い。

そして、Curryのいいところは、Haskellで書けるということ。今の自分には、Haskellがしっくりきているので。

いじるためのまとまった時間がほしいなぁ。