読者です 読者をやめる 読者になる 読者になる

きくらげ観察日記

好きなことを、適当に。

Prologでしょぼい型推論器みたいなものを作る

Prologの練習です。 以下で定義される簡単な式の型を推論し、その値を評価します。 * 数値はint型 * t, nilはbool型 * XがT型、YがU型のとき、ペアX & YはT & U型 * FがT -> U型、XがT型のとき、関数適用F $ XはU型組み込み関数はadd, eq, and, neg, car, cd…

Prologならではのソートアルゴリズム

簡単な問題なら問題をPrologの言葉で書いてやるだけで勝手に解けてしまうのが、Prologのすごい所です。 例えばソートに関しても、(計算量とかの話に目を瞑ってしまえば)こんなに簡単に書くことができるようになります。 % sort.pl % remove(X, L, M) : リス…

SWI-Prologを始めてみる

長いこと積んであった『Prolog Programming for Artificial Intelligence』を少しずつ読み始めることにしたので、現在使っているUbuntuにSWI-Prologをインストールすることにしてみました。 $ sudo apt install swi-prolog実行はprologコマンドでできます。 …