4
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

RUN/PROLOG互換の処理系N-Prologのご紹介

Last updated at Posted at 2022-12-03

はじめに

Prologのカレンダーを見つけてうれしくなった私です。でも、まだ記事の投稿がありませんね。学術的にも実務的にもまったく用をなさない記事かもしれませんが、ちょいとしゃしゃり出てみることとしました。しばらくお付き合いくださいませ。

ノスタルジー

1980年代、ライフボート社からRUN/PROLOGというPrologインタプリタが販売されていました。言語処理系を購入しようとするとうん十万円は普通にした時代になんと2万円というお手頃値段で販売されていました。利用した方も多かったのではないかと思います。同時期にProlog-KABAという優秀な処理系も存在したのですが、こちらは8万円くらいしたように覚えています。私はRUN/PRologのお世話になりました。マニュアルももう色あせてバラバラになっています。

IMG_1117.JPG

N-Prologとは

RUN/PROLOG互換のPrologインタプリタ・コンパイラです。性能はSWI-Prologには遠く及びませんが、取り扱いをできるだけ簡単にし、RUN/PROLOGの雰囲気に近づけるようにしています。当初、ISO-Prolog互換を目指していたのですが、ISO-Prolog規格のできの悪さにうんざりして離脱、懐かしのRUN/PROLOG互換にしたものです。SWI-PrologはISO-Prolog互換ではありませんが、これには作者のJanさんの深い思いが込められているものと私は思っています。

利用可能なOS

ほぼすべてのLinuxで動作します。また協力者の方によりMacOSでも動作するようになりました。OSより npl と入力すると起動します。対話モードがスタートします。assert述語を使って手入力することもできますが、かったるいのでエディタを起動しましょう。Linux標準のnanoを起動するようにしてあります。

bandicam 2022-12-03 13-10-33-955.jpg

bandicam 2022-12-03 13-13-49-607.jpg

bandicam 2022-12-03 13-15-02-320.jpg

RUN/PROLOGではPC-9801上のMS-DOSで起動しました。エディタは簡易なスクリーンエディタが付属していたように覚えています。

漢字もOK

RUN/PROLOGはシフトJISによる漢字も使えました。N-Prologもunicode対応にしてあります。あの動物データベースもオリジナルと同様に処理することができます。

bandicam 2022-12-03 13-23-28-865.jpg

コンパイラ内蔵

RUN/PROLOGはインタプリタのみでした。N-Prologはコンパイラもついています。といってもC言語に変換、動的リンクをするタイプでありそれほど高速化はできません。一応、一部最適化を入れてありnqueensなんかはSWI並みに高速に動作します。
bandicam 2022-12-03 13-31-44-636.jpg

bandicam 2022-12-03 13-30-57-227.jpg

PC-9801で8queenを動作させると最初の解が表示されるまでに数秒、十数秒かかっていました。今では全解探索を一瞬にやってのけます。コンピューターは進歩したものです。

DCGも内蔵

DCGも起動時に動作するようにしてあります。DCG構文を使って遊ぶこともできます。

bandicam 2022-12-03 13-37-30-218.jpg

bandicam 2022-12-03 13-40-00-706.jpg

古本

Prologブームの頃に多数の本が出版されました。今でも古本屋さんに行くと容易に入手可能と思います。こんな本があります。
IMG_1118.JPG

どうぞ懐かしんでください

その昔、卒論はPrologのことでした、という方も多いことでしょう。計算機科学を教える大学ではLispあるいはPrologが必須だそうです。どうぞRUN/PROLOGを思い出してお楽しみください。N-PrologはOSSとして下記において公開しています。

4
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?