文字列として表示するべき場合の判定に不具合があり、 0をメンバーにもつリストを不正に文字列として表示した。 なお、write/1では文字列として表示しないよう、仕様変更した。
修正した。
" に対応するUNICODEの設定に誤りがあったので訂正した。
混同するケースが発生しないよう修正
第1引数が変数の場合に結果が不正。
ストリーム機能選択にreposition(true)を指定した場合に 不正にエラーを発生。
ユーザの強い要望により predicate_property/2を新設しました。
ユーザの強い要望により、ソースファイル名の修飾子として、 .plを適宜補って開発環境が動作するようにしました。
エラー処理はcatch/throwによって行われますが、エラー項の内容や動作を規格に適合させました
catch/3 参照
catch/throwの引数と機能を規格適合させました
assertやretractによるデータベースの変更はその時点で実行中のゴールに影響を与えず、その後に起動されたものだけに影響します。
public宣言、dynamic宣言がK-Prologのモジュール機能のもとで規格の自然な拡張になるように以下の変更を行いました。
@>等の組込み述語によって評価される項の大小順序が一部変更されました。
従来は、数値同士の比較は数値の大小関係に依っていましたが、このバージョンでは、浮動小数点数は整数より小さいものと定義されます。
?- 1 @> 9.0.
yes
?- 1 > 9.0.
no.
規格に適合するよう、微細な変更を加えました。
起動時オプションに、-conforming が加わりました。
内部文字コードをUCS/2としました。外部コードとしてUTF-8を扱えるようになりました。
UTF-8を含め、EUC-JP, ShiftJIS の環境で半角カナが扱えるようになりました。
規格に適合するよう、簡略化しました。
この他、構成上の変更として処理系本体のシェアドライブラリ化を行い、 すべてのOSでシェアドまたはダイナミックリンクライブラリの扱いが 同一になりました。
新設された組込み述語は以下の通り。
| CPU/OS | PII 400MH Linux | Sun ultra5 Solaris8 | PIII 600MH Windows |
|---|---|---|---|
| 8-Queens 全解探索(92解) | 19ms | 25ms | 12ms |
| 100-Queens 1解探索 | 41ms | 66ms | 28ms |
| nreverse Lips | 5573KLips | 2884KLips | 8267KLips |