K-Prolog Compiler Version 6.0 
| assert(@Clause) |
| Clause | 節項 |
| assertz(@Clause) |
| Clause | 節項 |
| asserta(@Clause) |
| Clause | 節項 |
| assert(@Clause,+Position) |
| Clause | 節項 |
| Position | 位置 |
assert/1,assertz/1は、Clauseを述語の最後に付け加えます。
asserta/1は、Clauseを述語の最初に挿入します。
assert/2は、Clauseを述語のPosition番目の節の後に挿入します。Positionが
0の場合は述語の最初に挿入します。
エラー
| instantiation_error | |
| type_error | |
| permission_error(modify,static_procedure,_2340) | 静的述語を改変しようとした |
| clause(+Head,?Body) |
| Head | 頭部 |
| Body | 本体部 |
| clause(+Head,?Body,+Position) |
| Head | 頭部 |
| Body | 本体部 |
| Position | 節の位置 |
Headは節の頭部の形でなければなりません。
clause/2は、Headがその頭部と単一化可能な節をすべて
後戻りにより1個ずつ探し出し、
Head,Bodyをそれぞれ節の頭部、本体部と単一化します。
節が単位節(本体部がない節)ならば、Bodyはアトム true と単一化します。
clause/3は、述語のPosition番目の節を探し出し、Head,Bodyをそれぞれ節の頭部、本体部と単一化します。
エラー
| instantiation_error | |
| type_error | |
| permission_error(access,private_procedure) | 私的述語にアクセスしようとした |
| retract(+Clause) |
| Clause | 節 |
| retract(+Clause,+Position) |
| Clause | 節 |
| Position | 節の位置 |
retract/1は、Clauseの形の節と単一化可能な節をすべて、
後戻りにより1個ずつ探し出し、消去します。
Clauseは消去する節自身と単一化します。消去すべき節がなくなると失敗します。
retract/2は、述語のPosition番目の節を探し出し、消去します。
これらの述語は、assert などと組み合わせて、プログラムの実行中に述語を
変更するために使用します。
エラー
| instantiation_error | |
| type_error | |
| permission_error(modify,static_procedure,_2272) | 静的述語を改変しようとした |
| abolish(@Pred) |
| Pred | 述語指示子 |
| abolish(+Name,+Arity) |
| Name | 述語名 |
| Arity | アリティ |
| abolish(+Name,+Arity,+Position) |
| Name | 述語名 |
| Arity | アリティ |
| Position | 節の位置 |
abplish/1は、述語指示子Predを持つ述語を消去します。
abolish/2は、述語名Name,アリティArityを持つ述語を消去します。
abolish/3は、述語名Name,アリティArityを持つ述語のPosition番目の節を消去します。
エラー
| instantiation_error | |
| type_error | |
| representation_error(max_arity) | アリティの指定が最大値を超えている |
| permission_error(modify,static_procedure,_2332) | 静的述語を改変しようとした |
| current_predicate(?Pred) |
| Pred | 述語指示子 |
| current_predicate(?Name,?Arity) |
| Name | 述語名 |
| Arity | アリティ |
current_predicate/1は、Predに単一化可能な述語指示子を持つ述語を、後戻りにより1個ずつさがし出します。
current_predicate/2は、Nameに単一化可能な述語名、Arityに単一化可能なアリティをも持つ述語を後戻りにより1個ずつさがし出します。
これらの述語は、すべての述語の名前を知りたいときや、特定の名前の述語を調べるときに便利です。
エラー
| type_error |
| predicate_property(@Head,-Prop) |
| Head | 頭部 |
| Prop | 属性 |
Headと同じ述語指示子をもつ述語について、その属性をPropと単一化します。 属性は、built_in/compiled/interpreted, static/dynamicで複数の属性を返すべき時は後戻りにより1個ずつ返します。
| predicate(@Head,-Module,-Status,-Count,-Mode,-File) |
| Head | 頭部 |
| Module | モジュール |
| Status | 状態 |
| Count | 節の数 |
| Mode | モード |
| File | ファイル |
頭部がHeadと単一化できる述語について、以下の情報を単一化によって返します。
エラー
| instantiation_error |
| builtin(@Head) |
| Head | 頭部 |
| extern(@Head) |
| Head | 頭部 |
builtin/1は、Headが組込み述語を呼び出す形のゴールであれば成功し、そうでなければ失敗します。
extern/1は、HeadがC言語インタフェースで定義された外部述語を呼び出す形のゴールであれば成功し、そうでなければ失敗します。
| where_is +P |
| P | アトムまたは文字列で与える名前 |
名前がPであるかまたは正規表現パターンPと適合する名前の述語がユーザ定義されているモジュール名と読み込まれたファイル名を標準出力に表示します。
この述語は、モジュール境界を超えて働きます。