ストレージ

インタープリターはストレージ (storage) を持つ。ストレージはセル (cell) の集まりである。セルはベクトルで区別される。セルを区別するためのベクトルをアドレス (address) と言う。セルは 1 個の値を記憶する。セルは値の書き込み (write) と読み出し (read) が可能である。

ストレージに書き込むには writemain プリミティブ演算を使用する。write プリミティブ演算は to 引数と value 引数を取る。to 引数の値はベクトルである必要がある。write プリミティブ演算の戻り値はブーリアン型の false である。また、write プリミティブ演算で書き込んだ値は、erase プリミティブ演算で消去することができる。erase プリミティブ演算の main 引数でセルのアドレスを指定する。

引数解決で、終端要因がストレージであれば、ストレージからの読み出しが行われる。このとき演算指定子がセルのアドレスとして使われる。

互換性についての注意 read storage プリミティブ演算は、過去の言語仕様で規定されていたが、廃止された。このプリミティブ演算を使用しているコードを動作させるために、手続きでエミュレートするなどの対応が必要になる場合がある。

指定されたセルに値が書き込まれているか調べるには fullmain プリミティブ演算を使用する。full プリミティブ演算の main 引数でアドレスを指定すると、対応するセルに値が記憶されているかによって、ブーリアン型の true または false が戻り値となる。

互換性についての注意 過去の言語仕様との互換性のため、full プリミティブ演算の volume 引数に有名ベクトル proceduremain または primitivemain を与えると、それぞれ、main 引数で指定されたベクトルに対応する手続きまたはプリミティブ演算が存在するかどうか調べる。この仕様は将来の言語仕様では削除される可能性がある。新しく作成されるプログラムでは、available procedure プリミティブ演算と available primitive operation プリミティブ演算を使用すべきである。