魔術師をめざして

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

ぼくと Prolog

前回「ぼくと Scheme」について書いたが、今回は「ぼくと Prolog」について書きたい。
Prolog は今ではどういうわけか、特に日本国内では、ほとんど興味がもたれていないようだ。ぼくにとっては Scheme に対抗できるほど好奇心を刺激されるプログラミング言語なのだ。

ぼくが Prolog を学んだのは Scheme よりも古い。30年以上前ではないだろうか。その当時はただ本を読んだだけで、実際に使うことのできる処理系もなかったように思う。読んだ本は、日本語によるエジンバラ Prolog の本で、ハードカバーの立派な本で本文もカラーページであったという記憶だが、今思うと、そんな本が本当にあったのだろうかとさえ疑ってしまうほど、蜃気楼のような危うい記憶だ。

【 SWI-Prolog - http://www.swi-prolog.org/

f:id:fxrobot:20140106122246j:plain

その当時覚えた Prolog の知識も危ういもので、今とても直ぐに使えるレベルのものではない。

それでも今日までの途中、ボーランド社の TurboProlog を購入して、たくさん付いてきたサンプル を動かしておもしろがっていたことがあった。

その程度止まりであったが、Alice(Artificial Lovely Intelligence)の開発にぜひとも使いたいと思っていたころがあり、そのころもう一度学ぼうとしたが、結局学ぶことができなかった。

 今回、Scheme を使い始めた機会に Prolog の処理系も調べてみたのだが、SWI-Prolog が進化を続けていたようだ。インストールしてみたら、使ってみたいという欲求に襲われたのだ。いけない、いけない(笑)。

 結局、2014年は Scheme に加え、Prolog も少しやってみようじゃないかという結論を、昨日には出していたのだ。Scheme で終わりたいと書いていたのにね。書きながら Prolog をやる気満々だったのだからちょっと呆れるだろう。 でもね、Prolog は APL と同じくアプリケーション向けの実用言語と位置づけていないので、ぼくの意識に矛盾はないのだ。

f:id:fxrobot:20140106122421j:plain

上は、SWI-Prolog をちょっと動かしてみたという図。

こんなふうに多倍長整数が表示できるのが好きなんだろうね。SchemePrologPythonRubyHaskellErlang などがそうで、ぼくはこれらを「多倍長タイプ」と呼んでいる。多倍長タイプのプログラミング言語はぼくをとても刺激するのだ。HaskellErlang は今ではほとんど使わないが、使いたいと思ったときのために最新版をインストールしている。

 【 Visual Prolog - http://www.visual-prolog.com/

f:id:fxrobot:20140106124046j:plain

ところで、Visual Prolog を知っているだろうか。これは商用 Prolog で、確か元は Turbo Prolog であったはずだ。

グラフィックスや GUI も可能で、コンパイルして Windows ネイティブコードを作ることができる。

最後はこれがあるから、Prolog をアプリケーション開発用に位置づけてもよいだろうと考えていたのだ。

それを今思いだした。:P

 で、値段を見たら € 300(43,000円ほど)。

SWI-Prolog でアプリケーションが完成でもしたら購入すればよいだろう。作る予定はないけどね。

それで、Prolog が人気がない理由だけど、やっぱり難しいってのが、その理由じゃないだろうか。あるいは、取っつきにくいというのがよいのだろうか。SWI-Prolog をいじっていると、もっともっと人気が出てもいいはずなのにって思うよ。

さて、2014年は FX に戻っていくことになると思うが、それでも、プログラミング言語の記事は直ぐには止まらないと思う。しかし基本、SchemeProlog、APL、AutoHotKey、wxBasic の話題に限ろうと思っているが、果たしてどうなるか、この点においては、ぼくはぼくを信用できない。:P