現在、MonadRandom ライブラリを使用しています。私は計算をしています:
metroChain :: (RandomGen g) => Rand g Double
複数回実行して、結果を順番に出力したいと思います。というか、複数の計算のある種のリストを作成したいと思います。
一度それを行うには、私は使用します
main = do
result <- evalRandIO metroChain
print result
また
main = evalRandIO metroChain >>= (\result -> print result)
ただし、任意の (n) 量のmetroChain
結果を出力するのに苦労しています。
各結果は、最後の結果の最後に指定された RandomGen を使用する必要があります...それが MonadRandom の動作方法ですよね?
私はreplicateM
、fmap
、および少しトランスフォーマーを調べました (ただし、私の問題への適用を理解するのに十分なほど理解できないようです)。
私が探している機能を実現するのを手伝ってくれる人はいますか? 本当に単純なものが欠けているような気がします。しかし、私はHaskellにはかなり慣れていません。