big-Quixote は、 Quixote の言語機能の全ての機能を 実現するという目的で行なわれた実装です。 ICOT における Quixote の研究に沿ってバージョンアップが続けられ、 現在は第4版になりました。 big-Quixote はクライアント・サーバ形式で実装されていて、 サーバ は主として ICOT で開発された 並列論理型言語 KL1 を用いて開発されました。 ですから、始めは並列推論マシン PIM の上でのみ稼働していましたが、 2年間の後継プロジェクトにおいて開発された KLIC により、全てUNIX上においても稼働するようになりました。 クライアントには、Emacs をベースにしたユーザインタフェース、 X-Window による GUI などがあります。また最新版では WWWのクライ アントとして良く知られている Mosaic を Quixote の GUI として 用いることもできます。
Quixote はいろいろな機能を持った言語です。 ですから、それを実装した big-Quixote もシステムとしてはやや大きく、 メモリの点などから快適に動作する環境が限られることがあります。 そこで、平成5年度より big-Quixote と並行して、 Quixote の言語の主要機能に絞り、なるべく多くの環境で 軽く動くような処理系として micro-Quixote を開発することに なりました。 micro-Quixote はC言語により一から実装を行ない、 現在 UNIX, Mac, MS-DOS などで稼働しています。 micro-Quixote には、データベース機能はなく、 (制約)論理型プログラム言語としての性格が強いシステムです。 micro-Quixote では、オブジェクト項、 包摂関係、属性継承、条件つき問い合わせ、仮説つき答え といった Quixote の機能が実現されています。 また、実装を簡単にしたために、一部 big-Quixote とは答が 異なる場合があります。一方、外部処理系呼びだしのように、 big-Quixote にはない特徴も持っています。
両者のシステムの比較をまとめると、以下のようになります。
big-Quixote micro-Quixote OS/マシン環境 UNIX (KLIC), PIMOS UNIX, MS-DOS, Macintosh 開発言語 KL1, C C EmacsLisp, etc. コードサイズ 6Mbyte 199Kbyte 導出方法 OLDT resolution Prolog-like 包摂制約 ○ ○ 属性継承 ○ ○ 仮定つき答、条件つき問い合わせ ○ ○ モジュール ○ × 集合、非等式制約 ○ × NAF (Negation as Failure) ○ × 解の合成 ○ × データベース機能 ○ × 外部問題解決器の呼びだし 算術演算モジュール 外部制約呼び出し機構