Prologの処理系を使うというのもあるが、別の言語をメインで使っていて、一部論理プログラミングを使いたいとする。
そうするとそのホスト言語でProlog的なものを実装するわけだが、そのとき、
- 実装が楽であり、
- 実装したものを使う際にホスト言語と似ていて使いやすい
ということが大事だろう。すると例えばCとCommon LispをくらべるとCommon Lispの方が適していると思う。
ではRubyだとどうだろう?
結構いけそうな気がする。しかし、記号(Symbol)の取扱いがCommon Lispの方が統一的かつ簡易なので、Common Lispの方が楽だろう。(Rubyはあまりくわしくないので間違いかも)
PrologとLispのつながりというのはこの程度じゃないかなぁ。
もしかしたら、もっとあるのかもしれないが、今のイメージはこんな感じ。
とりあえず、これにて、今回の「AIMAかじり」は終了しよう。
AIMAは別の機会にがっつりやりたい。
次は、今回習得したPrologとAIMAの知識を利用して、PAIPのProlog実装とその利用をちゃんと理解するステップに入ろう。
0 件のコメント:
コメントを投稿