K-Prolog Compiler Version 6.0 
あるアトムに連想値として任意の項を割り付けることができます。 このとき、値の割当を setval/2で行ない、値の取得を getval/2で行ないます。 また、バックトラックによって現在連想値を割り付けられているすべての アトムを連想値とともに返すために current_value/2が用意されています。
| setval(@Name,@Value) |
| Name | キー |
| Value | 値 |
アトム Name に対して、項Valueの現在の値を連想させます。Valueが算術式ならば、 Name は算術演算の際、Valueとして評価されます。
エラー
| instantiation_error |
| type_error |
| getval(@Name,@Value) |
| Name | キー |
| Value | 値 |
アトム Name に対して、setval によって連想させてある値を、 Valueと単一化します。連想値がなければ、エラーとなります。
エラー
| instantiation_error |
| type_error |
| domain_error(prolog_flag) |
| current_value(?Name,-Value) |
| Name | キー |
| Value | 値 |
setval によって連想値がつけられているすべてのアトムとその連想値を後戻りによって1組ずつ返します。