追加のホスト演算

この節ではコア言語に属さないホスト演算を規定する。コア言語に属さないホスト演算は、実装によっては用意されていない場合がある。分裂を避けるために、この節で規定されているものと同等の機能を持つホスト演算を持つ実装は、この文書の規定に従うべきである。

ランダム

get random numbermain プリミティブ演算は main 引数を取る。main 引数の型は自然数である。0 以上で、main 引数で指定された自然数よりも小さい自然数を、等確率に返す。また、get continuous random numbermain プリミティブ演算は引数を取らず、0 以上 1 未満の一様分布する浮動小数点数を返す。乱数のシードはインタープリターの実行を開始する前に初期化される。

時間

make timermain プリミティブ演算はタイマーカプセルを返す。タイマーカプセルは暗黙寿命カプセルである。タイマーカプセルは以下のメソッドディスクリプターを使用できる。

メソッドディスクリプター 引数 戻り値 機能
typemain main (ベクトル) ブーリアン main 引数が timermain 有名ベクトルであるとき true を返す。
clearmain (なし) (なし) 計測している時間を 0 に戻す。
nowmain (なし) 浮動小数点数 タイマーカプセルが生成されてから、または clear メソッドが実行されてからの経過時間を得る。単位は秒である。1 秒未満の時間は浮動小数点数の小数部で得られる。

プログラムに渡された引数

get program argumentsmain プリミティブ演算は引数を取らない。このプリミティブ演算は、プログラムに渡された引数をイミュータブルベクターコンテナとして返す。ホスト言語が C++ であるとき、プログラムに渡された引数とは、main 関数の argc 引数と argv 引数に相当する。

互換性についての注意 get program argumentmain プリミティブ演算と get number of program argumentsmain プリミティブ演算は廃止された。かわりに get program argumentsmain プリミティブ演算を使用できる。

環境変数

get environment variablemain プリミティブ演算は文字列型の main 引数を取る。このプリミティブ演算は main 引数で指定された環境変数の値を文字列型で返す。指定された環境変数が存在しないならば、ブーリアン型の false を返す。

プログラムの終了

exitmain プリミティブ演算はプログラムを終了する。このプリミティブ演算は main 引数を取る。この引数は省略可能であり、省略されなければ自然数である必要がある。main 引数の値は親プロセスに渡される。main 引数を省略したときは、親プロセスには 0 が渡される。

文字列カプセル

互換性についての注意 文字列カプセルは廃止された。かわりに、文字列をイミュータブルベクターコンテナまたはベクターコンテナに変換することができる。