Logic Programming with Prolog

Logic Programming with Prolog

Logic Programming with Prolog

届いたのでぱらぱらと眺めてみました.
とても薄いです.220 ページ余り.それで 5,645 円は割高な感じがしないでもないですが,気にしない気にしない.
最大の特徴は,多くの Prolog 本と違って AI プログラミングとかパズルを解くとかって内容ではなく,「ふつうの Prolog プログラミング」な雰囲気になっていること.
なんたって,8 クイーンとか出てこない!!
っていうか,ちゃんと Hello World! で始まってる!!
こういう Prolog 本って意外とないんじゃないかなぁ?


目次は次の通り.

  • 1. Getting Started
  • 2. Clauses and Predicates
  • 3. Satisfying Goals
  • 4. Operators and Arithmetic
  • 5. Input and Output
  • 6. Loops
  • 7. Preventing Backtracking
  • 8. Changing the Prolog Database
  • 9. List Processing
  • 10. String Processing
  • 11. More Advanced Features
  • Appendix 1. Built-in Predicates
  • Appendix 2. Built-in Operators
  • Appendix 3. Specimen Solutions to Practical Exercises
  • Appendix 4. Glossary

始めの方ではとにかく Prolog の基本的な構文と動きを説明することに重点を置いているっぽくて好印象.
Java とかしか知らない人が最初に読む Prolog 本としては悪くないのかなぁという感じ.ただし,全体的に説明はあっさり気味.
差分リストなんかは取り上げられていないようなので,そういうのを求める人には不向きかも〜.


本書の Introduction でいくつかの Prolog 処理系が紹介されているのですが,特に目を引いたものをピックアップ.

//www.visual-prolog.com/">Visual Prolog:Basic & Visual Basic の違いと同じくらい,普通の Prolog とは別物っぽい処理系.
でもでも,かなり興味深いです.IDE が使えること,GUI アプリが作れるらしいこと,そしてオブジェクト指向に拡張されているらしいこと.
Prolog の処理系って,どれもコマンドラインベース (GUI アプリのようでターミナルもどきとか) で今風な感じがしないものばかりだと感じていたのですが,これはちょっと違うみたい.
Allegro Common LispProlog 版ってないかなぁと思っていたので (ACL 上で Prolog を実装しているみたいですが),ちょっと興味あり.
//goanna.cs.rmit.edu.au/~winikoff/wp/">W-Prolog:こちらは Prolog のサブセット的な処理系というか実装らしい.
注目は Java で書かれているということ.なので,普通の Java アプリに埋め込んで使えるようです.
このサイトのページにある「Start W-Prolog」ボタンを押すとアプレットから Prolog プログラミングを楽しむことも出来ます.ちゃんと写経本の append/3conc/3 も動いたよ.
他にも Pure Java な実装へのリンクが.要チェック!!