K-Prolog Compiler Version 6.0 
| atom_length(@Atom,?Length) |
| Atom | アトム |
| Length | 整数 |
アトムAtomの文字の数とLengthが等しければ成功します。
エラー
| instantiation_error |
| type_error |
| atom_concat(?Atom1,?Atom2,+Atom12) |
| Atom1 | アトム |
| Atom2 | アトム |
| Atom12 | アトム |
| atom_concat(+Atom1,+Atom2,-Atom12) |
| Atom1 | アトム |
| Atom2 | アトム |
| Atom12 | アトム |
Atom1とAtom2がアトムならば、両者を連結したアトムをAtom12と単一化します。
Atom1とAtom2のどちらかが変数ならば、Atom12を二つに分解したものを
それぞれAtom1,Atom2に単一化します。この場合、後戻りにより複数の解を生成することがあります。
エラー
| instantiation_error |
| type_error |
| sub_atom(+Atom,?Before,?Length,?After,?Sub_atom) |
| Atom | アトム |
| Before | 整数 |
| Length | 整数 |
| After | 整数 |
| Sub_atom | 部分アトム |
アトムAtom内の連続した一部分をアトムとして取り出し、Sub_atomと単一化します。
取り出す部分の指定はAtomの先頭からBefore個を取り除き、末尾から
After個取り除いた残りの部分Length個分がSub_atomとなります。
すなわち、合計値Befor+Length+AfterがAtomの長さと常に等しくなるような制約があります。
これらの制約を満たす複数の解を後戻りによって順に返します。
エラー
| instantiation_error |
| type_error |
| domain_error(not_less_than_zero) |
| sub_string(+String,?Before,?Length,?After,?Sub_string) |
| String | 文字列 |
| Before | 整数 |
| Length | 整数 |
| After | 整数 |
| Sub_string | 部分文字列 |
String内の連続した一部分を文字列として取り出し、Sub_stringと単一化します。
取り出す部分の指定はStringの先頭からBefore個を取り除き、末尾から
After個取り除いた残りの部分Length個分がSub_stringとなります。
すなわち、合計値Befor+Length+AfterがStringの長さと常に等しくなるような制約があります。
これらの制約を満たす複数の解を後戻りによって順に返します。
エラー
| instantiation_error |
| type_error |
| domain_error(not_less_than_zero) |
| atom_chars(+Atom,?List) |
| Atom | アトム |
| List | リスト |
| atom_chars(-Atom,+List) |
| Atom | アトム |
| List | リスト |
Atomがアトムならば,
Atomを構成する各文字に対応する1文字アトムのリストをListと単一化します。
Atomが変数ならば、Listを構成する1文字アトムを連結したアトムをAtomと単一化します。
エラー
| instantiation_error |
| type_error |
| atom_codes(+Atom,?List) |
| Atom | アトム |
| List | リスト |
| atom_codes(-Atom,+List) |
| Atom | アトム |
| List | リスト |
Atomがアトムならば,
Atomを構成する各文字に対応する文字コードのリストをListと単一化します。
このListは文字列になります。
Atomが変数ならば、Listをアトムに変換してAtomと単一化します。
エラー
| instantiation_error |
| type_error |
| representation_error(character_code) |
| char_code(+Char,?Code) |
| Char | 1文字アトム |
| Code | 文字コード |
| char_code(-Char,+Code) |
| Char | 1文字アトム |
| Code | 文字コード |
Charが1文字アトムならば、Charの文字コードをCodeと単一化します。
Charが変数ならば、Codeをアトムに変換してCharと単一化します。
エラー
| instantiation_error |
| type_error |
| number_chars(+Number,-Chars) |
| Number | 数 |
| Chars | リスト |
| number_chars(-Number,+Chars) |
| Number | 数値 |
| Chars | リスト |
Numberが数ならば、その表記を1文字アトムのリストにしたものをCharsと単一化します。
Numberが変数ならば、1文字アトムのリストCharsを数値に変換してNumberと単一化します。
エラー
| instantiation_error |
| type_error |
| syntax_error |
| number_codes(+Number,-Codes) |
| Number | 数 |
| Codes | リスト |
| number_codes(-Number,+Codes) |
| Number | 数値 |
| Codes | リスト |
Numberが数ならば、その表記を文字コードのリスト(文字列)にしたものをCodesと単一化します。
Numberが変数ならば、文字列Charsを数値に変換してNumberと単一化します。
エラー
| instantiation_error |
| type_error |
| syntax_error |