このリリースでは、コンパイラが改善され、以下の新しい機能が提供されます。 状態を隠すためのオブジェクト・ 表記法の便利さを取り入れた関数・ ISO標準への準拠の改善・ dynamic (動的)述語の処理の改善・ SMTPクライアントを統合するアプリケーション例 です。
より効率的なコンパイル結果を得るために、再コンパイルして下さい。
オブジェクト指向のプログラミングは、特別な目的 を持つデータタイププログラムを定義して、それを操作する 目的で、好んで使われます。
MINERVAでは、オブジェクトの内部状態を隠してクラス をプログラムし、それをメソッドでアクセスすることが できます。
表記法のコンパクトさと、結果として得られる プログラムの使い易さが、この手法の利点です。
詳細は以下にあります。 Manual/Reference/Objects/home_jp.html
関数は、関係の特別な重要な関係のケースでしばしば 使われるます。
MINERVAでは、算術的関数および非算術的関数のプログラミング ができます。
これにより、表記法のコンパクトさと効率が得られます。
詳細は、以下にあります。 Manual/Reference/Functions/home_jp.html
詳細は以下にあります。 ExamplePrograms/Applications/SMTP_Client/home_jp.html
詳細は、以下にあります。 Manual/Reference/Predicates/arithm_eval/is/home_jp.html
"-dynamic"オプションを使ってコンパイルされたファイルは、 unload/1で、削除することができます。
unload(+Package)詳細は、以下にあります。 Manual/Reference/Predicates/clause_creat_destruct/unload/home_jp.html unload/1で削除できうるファイルの候補は、以下で与えられます。
loadad(?Package) loaded(?Package,-PredicateList)詳細は以下にあります。 Manual/Reference/Predicates/clause_creat_destruct/loaded/home_jp.html
:- initialization(Goal). % :- init(Goal). と等価 :- ensure_loaded(File). % :- init(load(File). と等価 % load/1 は一度に最高1ファイルしかロードしません。 :- import(Package). % ":- package(Package)." は、これに置換えねばなりません。
詳細は以下にあります。 Manual/Reference/Directives/home_jp.html
ISO標準に従い、"'"のキャラクターコードは、0'''で示すことができるように なりました。 (以前は、0'\'のみ。)
current_predicate/1が加わりました。 ISO標準とは異なり、この述語は、引数に変数を許していません。
abolish/1は、標準に従うようになりました。 つまり、ある述語に対してabolish/1をしたあとで、その述語を呼び出せば 未定義述語の例外処理が出されます。
retract_all/1は、以前のabolish/1に置換わりました。 つまり、全ての節は削除されますが、動的には定義されたままです。 呼び出した場合には、失敗が戻されます。例外処理はされません。
コンパイラとランタイムシステムに改善が加えられました。
MINERVAのこのリリースにより、それ以前のバージョンのサポートを打ちきります。 MINERVAの以前のバージョンのリリースノートも再度お読みください。
次のリリースの為に、ご意見、ご希望をお寄せください。