魔術師をめざして

魔術師を目指して、相場・数学・プログラム言語を研究しています。

Prolog 元年

2014年は、ぼくにとっての Prolog 元年となりそうだ。

f:id:fxrobot:20140109171948j:plain

それにしてもずいぶん遅い元年だね。

Prolog って、こんなにおもしろい言語だったかなぁ。ぼくはずっと長い間わかっていなかったようだ。

20~30年前の話しだけど、過去に読んだ本が悪かったようだ。ぼくは数学が好きなので、学者の書いた厳密な本に惹かれたのだろうけど、それらの本では Prolog のおもしろさに気づくことがなかったんだね。(当時の自分の能力の問題なんだろうけどね)

もちろん、そういう本の存在も重要だろうが、まずは、Prologプログラミング言語としてのおもしろさ、使いやすさを伝えることが大切なのだと思う。

今年になってから「Prolog-KABA 入門」のような実践的な本を読んだ。そして実際に簡単なプログラムを打ち込んで動かしてみた。想像力がとても刺激されたよ。そしてその勢いを借りて、数学的に厳密に展開された Prolog 本も読み始めた。Scheme に戻るまでに少し時間がかかりそうだ。

結果、ぼくが目指している「年金ロボット」にも Prolog が使えるかも知れないと思い始めたのだ。上の画像は、Prolog を喰っているロボットだ。イメージが一致したので使わせてもらった。世界のどこかの誰かさん、ありがとう。さて、もし、ロボットを Prolog で書くとすると、MQL4 で書くよりもずっと遠回りすることになってしまいそうだ。

実はぼくの持っている米国株が少しずつだが回復の兆しを見せてきたのだ。 この株を売って資金に余裕を作ってから FX 再開。これがぼくが一貫して期待してきたシナリオだ。そのシナリオに現実味が出てきたので、遠回りも辞せずというわけなのだ。

今のぼくは PrologScheme がロボット開発の秘密兵器となる可能性を夢想している状態。

f:id:fxrobot:20140109182335j:plain

上はぼくのフォルダメニューで、選ぶとそのフォルダが開く。また Mh+p で SWI-Prolog が起動する。Mh+a で AZ-Prolog 起動だ。その他、Mh+r で Racket 起動、Mh+s で Schluessel 起動、Mh+k で Kawa 起動、Mh+m で Mosh 起動、Mh+n で Normal 起動、Mh+y で Ypsilon 起動。(Mh は、無変換キーのこと)

という具合に、ぼくのキーボードは現在、PrologScheme に占領されている。その上、Mh+x で (exit)、Mh+. で halt. と終わらせるのも超速だ。まぁ、そんなことはどうだっていいよっていわれそうだね。もっとも、そもそもぼくのブログは自分にとってしか意味のない内容が多いので、今回もそれが強く出たようだ。

ところで、ウィキペディアProlog 記事(http://ja.wikipedia.org/wiki/Prolog)があまりに力作で驚いた。それにぼくにとってもとても参考になったので紹介したい。Prolog の処理系も多く紹介されており、ぼくはここにあるリストの Prolog のほぼすべてを調べた。
Amzi!Prolog、AZ-Prolog、B-Prolog、Ciao PrologGNU Prolog、Jekejeke Prolog、K-Prolog、MINERVA、Open PrologProlog Cafe、Prolog.NET、P#、Qu-Prolog、Rebol Prolog、SICStus PrologProlog for Squeak、Strawberry Prolog、SWI-Prolog、TuProlog、Visual Prolog、XSB、YAP Prolog

ぼくはこのリストに WIN-Prologhttp://www.lpa.co.uk/win.htm)と TyRuBa を加えたい。TyRuBa は純粋な Prolog とはいえないだろうがおもしろい一つだ。
TyRuBa 公式サイト:http://tyruba.sourceforge.net/
TyRuBa Dance: http://www.kmonos.net/alang/etc/tyruba.php