次の Prolog プログラムを YAP で実行すると、出力は常に同じ、つまり整数 233 になります。
:- use_module(library(random)).
x:- random(1,1000,X), writeln(X).
たとえば、次の bash スクリプトを実行すると、出力は常に同じ整数 (233) になります。
for k in `seq 0`
do
yap -l test.pl << %
x.
%
done
swipl を使用してこの手順を繰り返すと、出力は毎回異なります。つまり、ランダムです。
誰でもこれを説明できますか?