| ||||||||||
| MINERVA superseeded IF/Prolog.
Please see
http://www.ifcomputer.co.jp/MINERVA
for details.
We discontinued to sell IF/Prolog Dec 31. 2003. For current customers, we continue to provide professional support for IF/Prolog until Dec 31, 2008. Prologバインディングには、以下のようなル−ルが採用されています。 ・Prolog言語バインディングではMotif toolkitと同一の名前を使用します。例外として、大文字で始まるアトムは小文字に変換して使います(Prologでは、大文字で始まるアトムを変数として扱うので)。 ・Motif toolkitでは多くの場合、マクロを整数の同義語として使います。Prologでは代わりに、同一の文字列値をもつアトムを使います。列挙型も同様に扱います。 ・Prolog中のコ−ルバックは、C言語バインディング中のコ−ルバックと同様の働きをします。これは、C言語バインディングの3つのパラメ−タに正確に一致するパラメ−タを持っています。 ・Prologのウィジェットやクラスは、ポインタではなく名前(アトム)によって表現されます。新しくつくられたすべてのウィジェットは、特別なProlog名を持ちます。Prologからウィジェットへの参照には、必ずこれらのProlog名を使わなければなりません。 ・Toolkit中で配列が使われている場合には、Prologではその代わりにPrologのリストを使います。 ・IF/Prolog Motifインタフェ−スでは、Xlibのプリミティブな描画関数を簡単に使用するために特別なドロ−ウィジェットが実現されています。このウィジェットは、自動的にすべての描画操作をセ−ブし、再描画イベントが起きた時にそれを再生し、描画し直します。 ・Cに比べPrologでは、柔軟なデ−タ構造を引数として簡単に扱うことができます。このため引数のリストをXtからPrologのリストに変換することにより、プログラミングがかなり容易になります。さらにパラメ−タのチェックは、このインタフェ−スを通して行われます。つまり、パラメ−タに誤りがある場合には、IF/Prologの例外処理が起こります。 ・C言語バインディングでのリソ−ス名は、文字列値をもつマクロを使用します。Prologでは、これらの文字列値を直接使用できます。 ・通常は、Cのパラメ−タとほぼ同一のパラメ−タをPrologで使用できます。各リストの長さを計算するだけのカウンタは必要なく、システムが自動的に計算します。通常関数の返り値は、対応する述語の第1パラメ−タと単一化されます。 ・toolkitの実行中にIF/Prologをアボ−トしたい場合には、quitシグナルを使わなければなりません。これは直ちにアプリケ−ションを中断し、IF/Prologを終了させます。 ・このソフトウェアの実現やこのマニュアルの作成において、以下の文献を使用しました。Prolog Motif言語バインディングを使うユ−ザは、X toolkitを有効に使うために、これらの文献あるいはX toolkitによるプログラミングについて一読されるといいでしょう。 X Toolkit Intrinsics - C Language Interface X Window System X Version 11, Release 4 Joel McCormack, Paul Asente, Ralph R. Swick OSF/Motif Programmer's Guide Volume 1 (2, 3) ・後の2つのマニュアルから、X Window Systemに関する、基礎知識を得ることができるでしょう。このマニュアルに記述されているインターフェースを使用して「実用」アプリケーションを開発することができるようになるためには、次の文献あるいは他の資料を読んでX Window Systemの基本概念と可能性を知っておくといいでしょう。 Xlib - C Language X Interface MIT X Consortium Standard X Version 11, Release 4 James Gettys, Robert W. Scheifler, Ron Newman
<制限> ・複数のディスプレイを使用するアプリケ−ションは実現できません。 ・destroyCallbackリストからのコ−ルバックは、ウィジェットが破壊された後に呼び出されます。 ・異なるグロ−バルアクションの最大数は10です。 <拡張> ・アプリケ−ションのメインル−プを脱け出ることができるようになりました。メインル−プを脱け出るには、コ−ルバック中でxtBreakMainLoop/0を呼び出さなければなりません。現在のイベントに対する未処理のコ−ルバックがすべて呼び出された後、メインル−プは成功します。 <注意> ・Motif toolkitとMotif ウィジェットセットへのインタフェースを含んだIF/Prologは、起動時に以下のように表示します。 IF/Prolog with OSF/Motif interface | ||||||||||
|
| Back> |
|