忍者ブログ

LAL 昭和な気まぐれ飛行機

LALのブログです。 http://eisl.kan-be.com/index.html

論理型と関数型の融合

ことの発端はcomp lang prolog でのバースさんからの投稿でした。O-Prologに関するスレッドです。この方、なぜか、Prologで高速にアッカーマン関数や竹内関数を実行することに拘っています。私はそれは意味のないことだと思う、本来、Prologは双方向、非決定性の複雑な計算で本領を発揮するものだと思うと伝えました。しかし、理解してもらえていません。

そこで、以前、後藤滋樹先生の記号処理の本で読んだPrologを拡張して関数型を取り込むということをインスタントにやりました。Elixirで実装してあります。is/2を拡張してElixirで書かれた関数をダイレクトに利用できるようにしてあります。

また、決定性の述語につき効率を上げるためにElixirで書いたものを流用できるように拡張しておきました。Nqueensの述語の一部をこれに書き換えると3倍ほど高速になります。

資料はQiitaに投稿してあります。
https://qiita.com/sym_num/items/3c52e4d7358a94878c82


バースさんからはISO-Prologの資料をもらうなどし、やりとりもしていたのですが。この方はどうも乱暴な発言が多すぎます。揚げ足どりな投稿、人格攻撃もやらかします。研究者にしては知的レベルも低く思えてきました。ご縁を切ることとしました。


PR

コメント

プロフィール

HN:
笹川
性別:
非公開

P R