関数一覧 Top Page -- 目次 -- 2.Prologの基本


第1章 なぜ いまどき Prolog in 2008

 1. イントロダクション

私はこの4月(2008年)、67才を迎えました。
仕事をリタイアして1年が経過しました。
年金生活と共にある暇さかげんの中で、この稿を思い立ちました。
ブログの片隅に置かせて頂きたいと思います。
(梧葉<goyo>と名のることにしました。また3年早く古希<koki>を使うこともあります。)
私とPrologとの出会いは、1985年頃でしょうか、20年も昔です。
(とは言え、私はすでに 45才を過ぎていました)。
MS-DOS 上での Prolog KABA に出会い、何も分からないままにその奇妙な言語に惹かれました。
それより、10年位ですか、時代は、第5世代コンピュータ、人工知能、AI という言葉に踊らされました。
昨年(2007年)夏頃でです、7〜8年離れていた世界への私なりの再挑戦を開始しました。
年寄りの僅かなお小遣いの中、中古パーツを買い集め、骨董品的な我が家のマシン(Windows ME/2000 が動いていました)を改造し、インターネットにも入りました。
Linux に興味を持ち、各種のディストリビューションをインストールしては、破棄し、遊んでみました。いやそのむつかしいこと、年には勝てないのかな〜そんな思いがしていた頃です、今年1月、ふとネット上で Prolog を検索してみました。驚いたことに、Prolog が「古語」になっているような感触を受けました。これがこの稿を書き始めたきっかけです。

 1.1 SWI Prolog を選定
正直言って、Free(無料)であれば、何でも良かったのです。
できるだけ多数の人達によって長年管理、運営され信頼がある方がベターであることは言うまでもありません。
それと、Windows/Linux 上で稼動することも条件に加えました。次の候補が残りました。

1)The GNU Prolog  http://www.gprolog.org/
2)The Ciao Prolog  http://www.clip.dia.fi.upm.es/Software/Ciao/
3)The YAP Prolog  http://www.ncc.up.pt/~vsc/Yap/
4)SWI-Prolog     http://www.swi-prolog.org/

1)/ 2)は日本語への対応がいまいちということで外しました。
3)/ 4)はどちらでも良かったのですが、Library の充実度が 4)の方がよさそうだと感じたからです。

選定してみて気付いたことですが、どの Prolog でも、Edinburgh、及び、ISO Standard への準拠をうたっています。
しかし、私が意図したことを実現しようとすれば、この枠を越えなければなりませんでした。
各処理系ごとに、独自の内部関数(内部述語)を持っています。
この稿のプログラムは、SWI-Prolog 上でしか動きません。
他の処理系に移植するには、それなりの対応が必要となりますが、これも止むを得ないことだと考えました。
 1.2 ライセンスについて
例によって当方、何の責任を負うものではありませんが、Goyoについてはご自由にお使いください。
(著作権を放棄している訳ではありません。著作権はあくまでも私にあることをご容認ください。)
SWI-Prolog については発行元のライセンスポリシーに従ってください。
欲を言えば、使ってみての(テストしてみての)ご感想等をお聞かせ願えれば幸甚です。
 1.3 参考にしたサイト(日本語)について
以下のサイトについては、私が勝手に参照したサイトです。開設者に了解を受けているわけではありません。(申し訳ありません、お許しください。)

・入門編(日本語)
「初級Prolog 講座」 ----- 大黒学さん によるPrologのチュートリアル
http://tutorial.jp/prog/prolog/prolog.pdf
「Prolog入門」神戸大学 田村直之さん によるチュートリアル
http://bach.istc.kobe-u.ac.jp/prolog/intro/
広井 誠 M.Hiroi さんによる「お気楽 Prilog プログラミング入門」
http://www.geocities.jp/m_hiroi/prolog/
「Prolog入門 」
http://light21.s26.xrea.com/prologV2/index.html

・有用なサンプルのある 中級〜エキスパート向け(日本語)
「Prolog 写経記 - koichik」
http://www.wikiroom.com/koichik/index.php?Prolog%20%BC%CC%B7%D0%B5%AD

・もちろん一番参考とした SWI-Prolog の公式ホームページ(英文)
http://www.swi-prolog.org/

 1.4 Goyo のいわれ
goyo: 「梧葉」とは青桐(あおぎり)の葉のことです。
朱喜 の有名な漢詩 「偶成」 に出てきます。
少年老易学成難
一寸光蔭不可軽
未覚池唐春草夢
階前梧葉已秋声
最後の節 「梧葉已秋声」(秋を迎え青桐の葉が色付き、枯れて行かんとする様)よりの引用です。
何時の間にか老境を迎え、枯れかけている自分への自嘲といったところです。