intrinsicsのXtMainLoop()に相当します。
この述語はメイン・イベントループを実現します。Xウインドウのイベントは、システムがイベントループを実行している時だけ処理されます。いくつかのwidgetを生成した後でxtMainLoop/0をアプリケーションが呼び出すことによって、ユーザとの対話処理を始めることができます。
xtMainLoop/0は、あるイベントが起こるまで中断して待っています。イベントが生じると、それに対応づけられたコールバックやアクションの呼び出しの形でディスパッチすることにより、処理します。
IF/PrologのMainLoopは、拡張されたMainLoopです。述語xtBreakMainLoop/0がコールバックから呼び出された場合、xtMainLoop/0は現在のイベントに関するすべての処理が終了した後に成功します。
xtMainLoop/0がコールバックから呼び出された場合、現在のイベントの未解決の処理は、コールバックが終了するまで実行されません。
ループをデバッギングのために中断したい場合には、以下のコードが有効です。EOF文字を入力するだけで、簡単に処理を再開することができます。
program :- ... repeat, xtMainLoop, break, fail.